将 png 转换为 jpeg 会增加图像大小

Posted

技术标签:

【中文标题】将 png 转换为 jpeg 会增加图像大小【英文标题】:Converting png to jpeg increases image size 【发布时间】:2013-05-29 11:20:19 【问题描述】:

当我将 png 转换为 jpeg 时,图像的大小会增加 2%。为此,我正在使用 imagemagick 的转换命令。还能够通过保持白色背景来处理 alpha 透明度因子。但是,我并没有增加图像的大小。众所周知,png是无损的,jpeg是有损的,那么具体是什么原因,有什么办法可以解决呢。

请参考上述示例图片

【问题讨论】:

【参考方案1】:

尝试降低 JPEG 质量设置。 Jpeg 使用离散余弦变换 (DCT) 来减小空间数据的大小,但在高质量设置和高细节输入图像上 由于数据没有充分量化并且 DCT 数据也需要一些存储,因此您将获得一些大小增加。

【讨论】:

我有一个小疑问。数据未被量化到底是什么意思?? 我的英语不太好,但我会试着解释一下:你在 NxM 矩阵上执行 DCT,分成 8x8 方格,然后穿过远离零的区域,结果离零不远.当您将质量设置得太高时,此阈值就会太低,您将不得不存储比以前更多的数据。 好的...谢谢解释...所以我们可以假设仅在极少数情况下...png尺寸可能小于jpegs

以上是关于将 png 转换为 jpeg 会增加图像大小的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 GD 调整上传图像的大小并将其转换为 PNG?

将大型光栅图形图像(位图、PNG、JPEG 等)转换为非矢量 postscript

如何使用干预图像laravel将webp图像转换为jpeg或png

当从 jpg 转换为质量值为 100 的 webp 时,图像大小会增加

在浏览器中将 SVG 转换为图像(JPEG、PNG 等)

在颤动中将应用程序/八位字节流转换为图像/jpeg/png?