求教:两个image组件如何保存成一个图像 ( 积分: 5 )

  • 主题发起人 主题发起人 xuehua_ljy
  • 开始时间 开始时间
X

xuehua_ljy

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用了两个image组件,分别使用画布画了两个图像,即图头和图的内容,我想实现把这两个图像保存成一个图形文件,可以进行打印和打开等操作,不知能否实现?
 
我使用了两个image组件,分别使用画布画了两个图像,即图头和图的内容,我想实现把这两个图像保存成一个图形文件,可以进行打印和打开等操作,不知能否实现?
 
把两个图并排着方在一起(看你需要怎么排了,也可以上下),把整个需要合并范围的画布重画一下就可以了。缺点是只能重画屏幕内的,如果你是大显示器就没有问题,搞不定屏幕外的,如果你的图很大,大过屏幕就完了。
 
我就是想上下图像保存成一个图像,并且我的下面的图像应该是超出显示器了,我把image组件放到了scrollbox中,想问一下怎么保存和打印这样的图像,拜托帮忙亚
 
BitBlt()
新建一画布,画完第一副画第二幅
 
新建一个,然后复制合并,再保存,完毕释放掉
 
procedure TForm1.Button1Click(Sender: TObject);
var t1, t2: TBitmap;
begin
t1 := Image1.Picture.Bitmap;
t2 := Image2.Picture.Bitmap;

Image3.Canvas.Draw(0,0, t1);
Image3.Canvas.Draw(t1.Width,0, t2);
end;
 
试了一下你告诉我的方法,发现image1和image2上的图像并没有放到image3上,好像不太好用
 
procedure TForm1.Button1Click(Sender: TObject);
var
jp1, jp2, jp: TJPEGImage;
bmp_t, bmp: TBitmap;
begin
jp1 := TJPEGImage.Create;
jp2 := TJPEGImage.Create;
jp := TJPEGImage.Create;
try
jp1.LoadFromFile('D:/aaa1.jpg');
jp2.LoadFromFile('D:/aaa1.jpg');
bmp := TBitmap.Create;
bmp_t := TBitmap.Create;
try
bmp.Width := jp1.Width;
bmp.Height := jp1.Height + jp2.Height;

bmp_t.Assign(jp1);
bmp.Canvas.Draw(0, 0, bmp_t);
bmp_t.Assign(jp2);
bmp.Canvas.Draw(0, jp1.Height, jp2);

jp.Assign(bmp);
jp.SaveToFile('C:/0.jpg');
finally
bmp.Free;
bmp_t.Free;
end;
finally
jp1.Free;
jp2.Free;
jp.Free;
end;
end;
将上面代码修改一下就可以了
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Canvas.Ellipse(1,1,50,50);
Image2.Canvas.Ellipse(1,1,100,100);
Image3.Canvas.Draw(26,1,image1.Picture.Graphic );
Image3.Canvas.Draw(1,51,image2.Picture.Graphic );
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
850
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部