Canvas的意义? ( 积分: 5 )

  • 主题发起人 主题发起人 安安
  • 开始时间 开始时间

安安

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一张大图,上边是把一些小的图片拼在一起,然后根据给定的四个点的数据,如Rect(450, 212, 451, 213);来截取一个图形在image里面显示;

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;
end;

1)下面这两句的意义是?其中参数的意义是?
Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
 
我现在有一张大图,上边是把一些小的图片拼在一起,然后根据给定的四个点的数据,如Rect(450, 212, 451, 213);来截取一个图形在image里面显示;

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;
end;

1)下面这两句的意义是?其中参数的意义是?
Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
 
帮助里面说了
第一个是拷贝画刷
第二个是拷贝矩形
 
我也看帮助了,因为以前没有用过这方面的,所以不是太理解;
我认为一般只用 Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect); 就行吧?还有 这里边 myother 和 myrect都是指什末?
 
Copies a portion of a bitmap onto a rectangle on the canvas, replacing one of the colors of the bitmap with the brush of the canvas.

procedure BrushCopy(const Dest: TRect; Bitmap: TBitmap; const Source: TRect; Color: TColor);

Copies part of an image from another canvas into the canvas.

procedure CopyRect(Dest: TRect; Canvas: TCanvas; Source: TRect);

//看帮助吧
 
MyRect := Rect(10,10,100,100);
MyOther := Rect(10,111,100, 201);

Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);

不是我懒,我看了,但是有一点不太理解;
1) MyRect := Rect(0,0,100,100);
MyOther := Rect(0,0,100,100);
如果我把他们俩个设成一样的,那么应该是图片正好显示在image框中,可是为什末还有一个白边呢,

2) Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
上边明明是clblack,可是为什末背景却是白色呢?
 
接受答案了.
 

Similar threads

I
回复
0
查看
666
import
I
I
回复
0
查看
637
import
I
I
回复
0
查看
641
import
I
I
回复
0
查看
794
import
I
后退
顶部