我想把Image1的点原封不动的画到Image2
请教怎么办,这一步都画不了的话,那我下一步都不知怎么做了,请帮帮忙var
i,j :Integer;
b : TbitMap;
begin
b := TBitMap.Create;
image2.Picture.Assign(b); for i:=0 to Image1.Picture.Height do
for j:=0 to Image1.Picture.Width do
b.Canvas.Pixels[i,j]:=Image1.Canvas.Pixels[i,j];
end;
请教怎么办,这一步都画不了的话,那我下一步都不知怎么做了,请帮帮忙var
i,j :Integer;
b : TbitMap;
begin
b := TBitMap.Create;
image2.Picture.Assign(b); for i:=0 to Image1.Picture.Height do
for j:=0 to Image1.Picture.Width do
b.Canvas.Pixels[i,j]:=Image1.Canvas.Pixels[i,j];
end;
解决方案 »
- 怎样制作控件
- 怎样在导出到excell的时候把dbgrid中的颜色也复制出来?我以前的问题找不到了,所以重新提问
- 紧急求救一sql语句,谢谢啦
- 500RMB元钱求:如何让基于DirectShow开发的播放器能播放CD格式的文件呢?
- 我用sendmessage发的消息对方怎么收不到?谢谢!
- 关于DBComboBox的问题,看到别人是数据库软件是这样的: 急......在线等待
- 如何控制子窗体中组件caption的显示?
- RegF:Tregistry,我是菜鸟,帮忙
- Access查询的菜问题两个
- 一个关于SQL语句的问题
- 有史以来最简单的高分问题,如何追写文本文件
- 用dbExpress如何连接局域网中的Oracle数据库?
i,j :Integer;
b : TbitMap;
begin
b := TBitMap.Create;
b.Height:=Image1.picture.Height;
b.Width:=Image1.Picture.Width;
for i:=0 to Image1.Picture.Height do
for j:=0 to Image1.Picture.Width do
b.Canvas.Pixels[i,j]:=Image1.Canvas.Pixels[i,j];
Image2.Picture.Bitmap.Assign(b);
b.free;
end;
代码更改成这样就可以了。但是有一个前提,就是Image1中必须载入的是一个Bmp图片,否则就不能显示(显示为空)。
如果Image1中载入的是一个JPG图片的话,就比较麻烦了。
需要在Image1载入图片后加上
(image1.Picture.Graphic as TJPEGImage).DibNeeded;
然后 b.Canvas.Pixels[i,j]:=Image1.Picture.Bitmap.Canvas.Pixels[i,j];
我在Delphi5下面是这么做的,但是在Delphi7下面好像也不行。
b : TBitMap;
begin
b := TBitMap.Create;
b.Assign(Image1.Picture.Bitmap);
b.Free;
b:=nil;