作者?: yostgxf
标题?: jpeg文件,图片合并
关键字:
分类?: 个人专区
密级?: 公开
(评分: , 回复: 0, 阅读: 10) »»
uses jpeg, ExtCtrls;
var
JPEGImage: TJPEGImage;
tmpImage1, tmpImage2, tmpImage3 :TImage;
ARect :TRect;
AWidth, AHeight :integer;
begin
DoubleBuffered:=true;
tmpImage1 := TImage.Create(Self);
tmpImage2 := TImage.Create(Self);
tmpImage3 := TImage.Create(Self);
tmpImage3.Parent:=self;
tmpImage1.AutoSize:=true;
tmpImage2.AutoSize:=true;
//先读入jpeg格式的图片
JPEGImage := TJPEGImage.Create;
JPEGImage.LoadFromFile('你读入的文件1');
tmpImage1.Picture.Bitmap.Assign(JPEGImage);
JPEGImage.LoadFromFile('你读入的文件2');
tmpImage2.Picture.Bitmap.Assign(JPEGImage);
AWidth := tmpImage1.Width;
AHeight:= tmpImage1.Height;
tmpImage1.AutoSize:=false;
//并排排列
tmpImage3.Width:=tmpImage1.Width+tmpImage2.Width;
tmpImage3.Height:=tmpImage1.Height;
ARect:=Rect(AWidth, 0, AWidth+tmpImage2.Width, AHeight);
//上下排列
tmpImage3.Height:=tmpImage1.Height+tmpImage2.Height;
tmpImage3.Width:=tmpImage1.Width;
ARect:=Rect(0, AHeight, AWidth, AHeight+tmpImage2.Height);
//合并后的图片放在tmpImage1中
tmpImage3.Canvas.CopyRect(tmpImage1.ClientRect, tmpImage1.Canvas, tmpImage1.ClientRect);
tmpImage3.Canvas.CopyRect(ARect, tmpImage2.Canvas, tmpImage2.ClientRect);
JPEGImage.Assign(tmpImage3.Picture.Bitmap);
tmpImage1.Free;
tmpImage2.Free;
JPEGImage.Compress;
JPEGImage.SaveToFile('你保存的文件');
JPEGImage.Free;
end;