图像格式转换(50分)

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

xxptt

Unregistered / Unconfirmed
GUEST, unregistred user!
请问后辍为bmp的图像文件和后辍为jpg的图像文件两者如何互相转换?
 
uses graphics, jpeg;


procedure ConvertBMPtoJPG(filename:string);
Var
J:TJpegImage;
I:TBitmap;
S:String;
begin
s:=filename;
J:=TJpegImage.Create;
I:=TBitmap.Create;
I.LoadFromFile(s);
J.Assign(I);
I.Free;

s:=changefileext(s, '.jpg');
J.SaveToFile(s);
Application.processmessages;
J.Free;
end;


procedure ConvertJPGtoBMP(filename:string);
Var
J:TJpegImage;
I:TBitmap;
s:string;
begin
s:=filename;
I:=TBitmap.Create;
J:=TJpegImage.Create;
J.LoadFromFile(s);
I.Assign(J);
J.Free;

s:=changefileext(s, '.bmp');
I.SaveToFile(s);
I.Free;
Application.processmessages;
end;

 
基本同意nickruler。
但nickruler的程序存在若干问题。

其一,应该使用

i:=...Create...
try
...
finally
i.Free;
end;

的结构,提高安全性。

其二,程序中并没有出现大循环,最后一句

Application.processmessages;

是多余的。
 
接受答案了.
 
后退
顶部