可以使用API函数BitBlt分四个部分拷贝。
解决方案 »
- delphi string转WideString的问题
- 一个初级问题想请教
- 考试随机抽题问题
- 请问怎样在窗体上画一个矩形框,框线最好有象groupbox那样的凹凸感,但不要用groupbox
- 字符串处理的问题!
- 今天心情好,开放FTP,可下载可上传,不限线程...
- 急!我该选哪份工作?在线等待!
- 请我程序最小化后,为什么就无法获得摄像头(vfm)的数据帧,无法进入回调函数
- 程序打包问题,请高手进来看看,急!!!!!!!!!!!!!!!!!!!!!!!
- 初学DELPHI看什么书较好?
- 请教如何实现:在DELPHI的WEB页中的超级链接,不是链接下一WEB页,而是弹出一个FORM窗口
- 想要分,请到这里链接,我会不断加分的,现在已加二十二了
...
function OffsetRect(var Rect: TRect; DX: Integer; DY: Integer): Boolean;
begin
if @Rect <> nil then // Test to increase compatiblity with Windows
begin
Inc(Rect.Left, DX);
Inc(Rect.Right, DX);
Inc(Rect.Top, DY);
Inc(Rect.Bottom, DY);
Result := True;
end
else
Result := False;
end;
*)
procedure TForm1.Button1Click(Sender: TObject);
var
vRectT: TRect;
vRect0: TRect;
begin
vRect0 := Rect(0, 0, Image1.Picture.Bitmap.Width div 2,
Image1.Picture.Bitmap.Height div 2); vRectT := vRect0;
OffsetRect(vRectT, 0, 0);
Image2.Picture.Bitmap.Width := vRect0.Right;
Image2.Picture.Bitmap.Height := vRect0.Bottom;
Image2.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT); vRectT := vRect0;
OffsetRect(vRectT, Image1.Picture.Bitmap.Width div 2, 0);
Image3.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT); vRectT := vRect0;
OffsetRect(vRectT, 0, Image1.Picture.Bitmap.Height div 2);
Image4.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT); vRectT := vRect0;
OffsetRect(vRectT, Image1.Picture.Bitmap.Width div 2, Image1.Picture.Bitmap.Height div 2);
Image5.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT); Image3.Left := Image2.Left + Image2.Width;
Image3.Top := Image2.Top; Image4.Left := Image2.Left;
Image4.Top := Image2.Top + Image2.Height; Image5.Left := Image2.Left + Image2.Width;
Image5.Top := Image2.Top + Image2.Height;
end;
function OffsetRect(var Rect: TRect; DX: Integer; DY: Integer): Boolean;
begin
if @Rect <> nil then // Test to increase compatiblity with Windows
begin
Inc(Rect.Left, DX);
Inc(Rect.Right, DX);
Inc(Rect.Top, DY);
Inc(Rect.Bottom, DY);
Result := True;
end
else
Result := False;
end;
*)
procedure TForm1.Button1Click(Sender: TObject);
var
vRectT: TRect;
vRect0: TRect;
begin
vRect0 := Rect(0, 0, Image1.Picture.Bitmap.Width div 2,
Image1.Picture.Bitmap.Height div 2); vRectT := vRect0;
OffsetRect(vRectT, 0, 0);
Image2.Picture.Bitmap.Width := vRect0.Right;
Image2.Picture.Bitmap.Height := vRect0.Bottom;
Image2.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT); vRectT := vRect0;
OffsetRect(vRectT, Image1.Picture.Bitmap.Width div 2, 0);
Image3.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT); vRectT := vRect0;
OffsetRect(vRectT, 0, Image1.Picture.Bitmap.Height div 2);
Image4.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT);//查看用
vRectT := vRect0;
OffsetRect(vRectT, Image1.Picture.Bitmap.Width div 2, Image1.Picture.Bitmap.Height div 2);
Image5.Canvas.CopyRect(vRect0, Image1.Canvas, vRectT); Image3.Left := Image2.Left + Image2.Width;
Image3.Top := Image2.Top; Image4.Left := Image2.Left;
Image4.Top := Image2.Top + Image2.Height; Image5.Left := Image2.Left + Image2.Width;
Image5.Top := Image2.Top + Image2.Height;
end;
算你狠,给你分!