【发布时间】:2016-02-28 04:26:36
【问题描述】:
我有一个函数用于将位图压缩为 JPEG。
procedure BmptoJpeg(Bmp : TBitmap; JpgStream: TStream);
var
Jpg: TJPEGImage;
begin
Jpg := TJPEGImage.Create;
try
Jpg.Assign(Bmp);
Jpg.CompressionQuality := 10;
Jpg.Compress;
Jpg.SaveToStream(JpgStream);
finally
Jpg.Free;
end;
end;
但这不适用于高质量的原始位图。 有没有另一种方法来保持质量和压缩最大位图? 另一种不压缩为JPEG的方法对我也有好处.. 只有压缩最大和保持质量是我的目标
【问题讨论】:
-
Jpg.CompressionQuality := 10;?试试100 -
好吧,你想做什么?你想要有损JPEG压缩吗?你想要无损PNG压缩吗?任何决定都将依赖于只有您拥有的图像内容的知识。不同的算法适用于不同的图像类型。
-
您说过“将其压缩 90%”,意思是“丢弃大部分数据”。当您这样做时,除了质量差之外,您期望什么?
标签: delphi bitmap compression image-compression