N
netkk
Unregistered / Unconfirmed
GUEST, unregistred user!
以下的问题不能通过正常的方法解决(DELPHI):
有一个aaa.JPG (大于1M) 文件,先用其它工具转为aaa.BMP,
在代码中实现 BMP->JPG 如下:
var
jpg:Tjpegimage;
bmp:Tbitmap //或 pic:Tpicture
begin
jpg:=Tjpegimage.create;
bmp:Tbitmap.create;
bmp.loadfromfile('aaa.bmp');
jpg.assign(bmp);
jpg.CompressionQuality:=75;
//jpg.Compress; //该语句执行与否,结果都一样
jpg.savetofile('bbb.jpg'); //或 savetostream
jpg.free;
bmp.free;
end;
以上代码中,如果 aaa.bmp为小文件(1-2M)没有问题,
但如果aaa.bmp为大文件时(>5M),则会出现“JPEG Err#36”
的内容。经观察发现是jpeg.pas单元在压缩JPG时出现内部错误。
另加上一句: 如不用jpg.CompressionQuality:=75则有时可以通过,但这不可能,因我必须改变这个值。
对以上问题,希望有经验的高手提供解决方法。
有一个aaa.JPG (大于1M) 文件,先用其它工具转为aaa.BMP,
在代码中实现 BMP->JPG 如下:
var
jpg:Tjpegimage;
bmp:Tbitmap //或 pic:Tpicture
begin
jpg:=Tjpegimage.create;
bmp:Tbitmap.create;
bmp.loadfromfile('aaa.bmp');
jpg.assign(bmp);
jpg.CompressionQuality:=75;
//jpg.Compress; //该语句执行与否,结果都一样
jpg.savetofile('bbb.jpg'); //或 savetostream
jpg.free;
bmp.free;
end;
以上代码中,如果 aaa.bmp为小文件(1-2M)没有问题,
但如果aaa.bmp为大文件时(>5M),则会出现“JPEG Err#36”
的内容。经观察发现是jpeg.pas单元在压缩JPG时出现内部错误。
另加上一句: 如不用jpg.CompressionQuality:=75则有时可以通过,但这不可能,因我必须改变这个值。
对以上问题,希望有经验的高手提供解决方法。