如果我原来的图象是 800×600 的我要从里面截取200×200的一个图象请问怎么截取??
解决方案 »
- 关于树形控件的ID问题?
- CSDN肿么了,没人维护了吗?
- 怎样提取出文章中的关键词?用delphi实现
- D7下的IdTCPClient1.WriteInteger等方法在2007下的Indy10中变成什么了?
- 请问:怎样实现类似金山词霸那样的风格
- 打开可执行文件时报错,但又不影响程序执行,恳请高手赐教
- 再次,为何delphi5读出Access2000的结构时,大部分字段类型(TFieldType)都为ftUnknown,如何能正确识别
- 那位前辈可以给我介绍基本关于delphi函数使用方面的书
- 莫名其妙的问题----------------------
- 两个日期时间相减,计算在线时长
- fastreport2.47在delphi7里如何安装(在线等)
- 用拖动状态栏的方式来拖动窗体,为什么不触发鼠标事件?
Bitblt??
var
Form1: TForm1;
fbitmap:tbitmap;
rect1,rect2:trect;
implementation{$R *.dfm}
//从800*600、中取200*200,所取得部分可通过更改rect1的四个参数实现
procedure TForm1.Button1Click(Sender: TObject);
begin
rect1:=rect(0,0,200,200);
rect2:=rect(0,0,200,200);
fbitmap.width:=200;
fbitmap.height:=200;
fbitmap.canvas.copyrect(rect2,image1.canvas,rect1);
image1.Picture.Bitmap:=nil;
image1.width:=200;
image1.height:=200;
image1.picture.assign(fbitmap);
end;//将200*200扩充到800*600
procedure TForm1.Button2Click(Sender: TObject);
begin
fbitmap.width:=800;
fbitmap.height:=600;
rect1:=rect(0,0,200,200);
rect2:=rect(300,150,500,350);
fbitmap.canvas.copyrect(rect2,image1.canvas,rect1);
image1.Picture.Bitmap:=nil;
image1.width:=800;
image1.height:=600;
image1.picture.assign(fbitmap);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
fbitmap:=tbitmap.Create;
end;