var
Bitmap: TBitmap;
MyRect, MyOther: TRect;
begin MyRect := Rect(10,10,100,100); MyOther := Rect(10,111,100, 201);
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\windows\tartan.bmp');
Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
Bitmap.Free;
Bitmap: TBitmap;
MyRect, MyOther: TRect;
begin MyRect := Rect(10,10,100,100); MyOther := Rect(10,111,100, 201);
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\windows\tartan.bmp');
Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
Bitmap.Free;
解决方案 »
- Uindexweb运行不了,请使用过的朋友帮帮忙。
- if else 语句里else后面能不能一起执行同一if条件下成立的多条语句?
- 安装控件时报错,请大家帮帮忙!
- 怎么合并两个wav文件
- SetWindowLong为何无作用!!!!!
- 关于加密的一点小问题,各位大虾帮帮忙吧:)
- 如何打印TImage中的图片?
- 请问怎么让程序最小化时,在桌面留一个窗体不最小化。。。
- 用ExtracFileDir函数是不是要在Use里加入什么东西?
- 请各位老师帮我个忙,此程序关系到就业问题,编译时出现一个警示框不知道怎么办。谢谢给高分
- 怎样在DBGRID中实现象资源管理器中的排序功能?
- 请问怎么用多线程调用playsound函数实现同时播放相同一个wave文件的多个实例?
procedure TForm1.Button1Click(Sender: TObject);
var img:array[0..2,0..2] of timage;
var i,j,step:integer;
begin step:=tbmp.Width div 3;
for i:=0 to 2 do
begin
for j:=0 to 2 do
begin
img[i,j]:=timage.create(application);
img[i,j].parent :=form1;
img[i,j].Left :=j*step+10*j;
img[i,j].top :=i*step+10*i;
img[i,j].width :=step;
img[i,j].height:=step;
img[i,j].Canvas.CopyRect(rect(0,0,step,step),tbmp.Canvas ,rect(j*step,i*step,j*step+step,i*step+step));
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
tbmp:=tbitmap.Create ;
tbmp.LoadFromFile('c:\1.bmp');
end;
楼上老兄的写法,只能对BMP的起作用,其他格式会出错的!