我想把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;
解决方案 »
- 怎么将stream里指定段读到jpegImage里?
- 字符串的比较,请各位讨论,并接分!
- 菜鸟简单一问?在线等待,马上给分!
- 如何得到sql表在插入时自动加一的id值?
- 请问哪位高手知道,如何在delphi重运行.chm文件。急!
- 请问:怎样才能得知当前工作目录下的子目录个数和名称?在线等待!!!
- 又有问题了,欢迎指导,还有,是不是如果有3个人回答,我也能给每个人30分
- 哪位高手告诉我如何在我的桌面上建立一个“注销”的快捷方式?
- Tstringgrid这个世界上最怪的类,如何让它清空列表?
- 如何在運行時控制QR的字體﹐紙張型號
- 有史以来最简单的高分问题,如何追写文本文件
- 用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;