procedure TForm1.Button1Click(Sender: TObject);
var
bmp:tbitmap;
begin
bmp:=image2.Picture.Bitmap;image1.Picture.Bitmap:=image2.Picture.Bitmap;
form1.Canvas.Draw(0,0,bmp);
end;
本来应该在左上角出现image2的图象的,但是没有出现。
不知道什么原因,请指点一下
var
bmp:tbitmap;
begin
bmp:=image2.Picture.Bitmap;image1.Picture.Bitmap:=image2.Picture.Bitmap;
form1.Canvas.Draw(0,0,bmp);
end;
本来应该在左上角出现image2的图象的,但是没有出现。
不知道什么原因,请指点一下
解决方案 »
- 请教:不固定内容的XML文件如何读取
- excelapplication1打开Excel 出错(Access violation at address 00000000.Read of address 00000000)
- 树形数据问题?
- fastreport如何動態生成字段?急急急,在線等,解決即揭帖!
- BYTE* lpDestBuf 缓冲区中存有图象数据,怎样取出来存为jpeg图象(或bmp)
- 关于adoquery
- 我有一张500条记录的缴税报表,请问如何分页打印,以及和另一张表的循环打印,给分!
- DELPHI打包工具是什么?怎么用呀!
- 在微软.NET的进攻下,DELPHI会顽抗多久呢?
- 谁能看懂下面语句
- 我想改变headercontrol的sections里面文字的颜色,怎么办?
- 如何通过像QQ一样抓屏获取运行中的窗体的控件信息,包括名称、类型等。
begin
//image1.Picture.Bitmap:=image2.Picture.Bitmap;
form1.Canvas.Draw(0,0,image2.Picture.Bitmap);
end;
//有个问题,image2里的图像是bmp格式的么?
var
bmp:tbitmap;
begin
bmp:=TBitmap.Create;
bmp.Assign(image2.Picture.Graphic);
//image1.Picture.Bitmap:=image2.Picture.Bitmap;
form1.Canvas.Draw(0,0,bmp);
bmp.Free;
end;
begin
Canvas.Draw(0, 0, Image2.Picture.Graphic);
end;
form1.Canvas.Draw(0,0,bmp);这句是可以实现在左上角出现图象的,但是
正是有了前面的一句image1.Picture.Bitmap:=image2.Picture.Bitmap;之后就不出现了
只是image1的图象变成image2的了而已。
我想问的是这个问题。
Bmp: TBitmap;
begin
Bmp := Image2.Picture.Bitmap;
Bmp.Canvas.FillRect(Bmp.Canvas.ClipRect);
end;这样的赋值并不是将内容赋值
而是指针地址赋值如果需要内容赋值需要创建TBitmap
Bmp := TBitmap.Create;
Bmp.Assign(Image2.Picture.Bitmap);注意:
Image1.Picture.Bitmap := Image2.Picture.Bitmap;
这个是属性赋值
实际执行了
procedure TPicture.SetBitmap(Value: TBitmap);
begin
SetGraphic(Value);
end;
运行的结果就是将Image2的图像copy到Image1和Form上。
LZ新建一个工程,看看运行是否正常。
和form1.Canvas.Draw(0,0,bmp);这两句单独都可以实现,但是就是象我前面提到的,
放在一起就只有image1.Picture.Bitmap:=image2.Picture.Bitmap;
实现了,而form1.Canvas.Draw(0,0,bmp);没有表现出来。
我现在的想法是image1的图象把form1.Canvas.Draw(0,0,bmp);产生的图象给覆盖了,但是我又觉得不对,因为form1.Canvas.Draw(0,0,bmp);这句在后面呀