如何改变图片尺寸又不丢失exif信息。(100分)

  • 主题发起人 主题发起人 zl
  • 开始时间 开始时间
Z

zl

Unregistered / Unconfirmed
GUEST, unregistred user!
如何改变jpeg图片尺寸又不丢失exif信息。
 
有明白的朋友快请帮忙,急用。
 
用WINDOWS带的画图?
 
to foam

在这里提问肯定是要通过delphi编写程序来实现改变jpeg图片尺寸,按常规方法,会丢失了exif信息。

常规方法:
bmp:=TbitMap.Create;
jpg:=TJpegImage.Create;
img:=Timage.Create(nil);


try
img.Picture.LoadFromFile(img1);

if img.Picture.Width>imgWidth then
begin
bmp.width:=imgWidth;
bmp.Height:=img.Picture.Height*imgWidth div img.Picture.Width;
end else
begin
bmp.Width:=img.Picture.Width;
bmp.Height:=img.Picture.Height;
end;
bmp.Canvas.StretchDraw(bmp.Canvas.ClipRect,img.Picture.Graphic);


jpg.Assign(bmp);
jpg.CompressionQuality:=cq;
jpg.Performance:=jpBestQuality;
jpg.Smoothing:=true;
jpg.SaveToFile(img2);
finally
bmp.Free;
jpg.Free;
img.Free;
end;
 
exif信息存在于文件头部分,
你可以处理完后从原文件把这些信息补回去,
建议下载一份exif 2.1的规范文档看看,
目前大部分影像文件遵从这个标准
 
stlont老师好,能详细跟我说下吗?
我的邮箱:freeyaya102@126.com,谢谢![:)]
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
897
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部