如何用我得RECT截取图象中的一部分??(1分)

  • 主题发起人 主题发起人 cjg325
  • 开始时间 开始时间
C

cjg325

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如果我有一个640×480的图象我如何用RECT从中间截取160×160的图象?
 
copyrect函数
 
可以告诉我具体代码吗?
 
看帮助
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;
 
BOOL StretchBlt( ...);//Windows Sdk
 
如果你是从(0,0)开始截取的,可以这样
var
Bitmap: TBitmap;
MyRect, MyOther: TRect;
begin

MyRect := Rect(0,0,640,480);

MyOther := Rect(0,0,160,160);
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile(OpenDialog1.FileName);
Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
Bitmap.Free;
end;
 
还是用bitblt比较好用,不会变色的。
 
接受答案了.
 
后退
顶部