- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 bmp 文件,正在尝试将其转换为 jpeg 格式。使用以下代码创建的 jpeg 失去了很多清晰度。我尝试过调整很多设置,但没有效果。
有没有人有一个可以将 bmp 文件转换为 jpeg 的函数?
var
Bmp: TBitmap;
Jpg: TJPEGImage;
begin
Bmp := TBitmap.Create;
Jpg := TJPEGImage.Create;
try
Bmp.LoadFromFile(BmpFileName);
Jpg.Assign(Bmp);
jpg.PixelFormat :=jf24bit; // or jf8bit
Jpg.CompressionQuality := 100;
Jpg.ProgressiveDisplay := False;
Jpg.ProgressiveEncoding := False;
Jpg.SaveToFile(JpgFileName);
finally
Jpg.Free;
Bmp.Free;
end;
end;
更新 II 很多人回应说 jpeg 不是在这种情况下使用的图形类型。明白了。不是为了打败一个死马,但我已经能够使用其他程序(即 Photoshop)并将其转换为漂亮的 jpeg。我用来创建图表的工具(fusioncharts)也能够将其导出为漂亮的 jpeg(见下文)。有什么区别?
最佳答案
如果你想损失尽可能少的质量,那么你应该尽可能少地压缩,即设置CompressionQuality := 100
。
更新
JPG 图像格式设计用于照片和类似的光栅图片。 JPG 采用破坏性压缩来减小文件大小。然而,对于较大的质量值 (> ~80),这种压缩的视觉效果可以忽略不计,因为照片不包含大面积的相同颜色、非常规则的形状等。
JPG 格式绝不用于摄影图片以外的任何内容。例如,图表、屏幕截图等确实包含大面积完全相同的颜色、非常规则的形状等,在 JPG 压缩时将显示清晰的伪像。对于这种类型的光栅图像,请使用 PNG。 PNG也是一种压缩格式(也是一种非常非常好的格式!),但压缩是非破坏性的。
所以请不要使用 JPG 作为您的图表!使用PNG!
关于delphi - 使用 TJpegImage 组件将 bmp 转换为 jpg 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3102043/
我有一个 Delphi 6 Pro 应用程序,用于处理来自流视频服务器的传入 jpeg 帧。该代码可以工作,但我最近注意到它随着时间的推移会产生大量的软页面错误。经过一些调查后,页面错误似乎来自一项特
我有一个 bmp 文件,正在尝试将其转换为 jpeg 格式。使用以下代码创建的 jpeg 失去了很多清晰度。我尝试过调整很多设置,但没有效果。 有没有人有一个可以将 bmp 文件转换为 jpeg 的函
我想将 BMP 转换为 JPG,压缩该 JPG,然后将压缩的 JPG 放回原始 BMP。但是,它不会将压缩图像分配给 BMP。我总是将原始图像放入 BMP 中。 代码如下。为了查看压缩效果,我将 Co
我是一名优秀的程序员,十分优秀!