0
convert -strip -interlace JPEG -quality 80 origi.jpg output-file.jpg

原始图像大小:40.6 kb 输出文件图像大小:11.3 kb

但是如果我将一个 png 文件转换为

convert -strip -interlace PNG -quality 80 he.png output-file.png

he.png 图像大小:711 kb 输出文件图像大小:1 mb

convert -strip -interlace PNG he.png output-file.png

he.png 图像大小:711 kb 输出文件图像大小:972.3 kb

为什么转换为 output-file.png 后的 PNG 文件大小会增加?

我是否使用正确的参数进行 png 转换?

4

1 回答 1

2

如果将常规 PNG 图像转换为隔行扫描图像,则生成的文件大小可能会更大,如PNG 规范中所述(强调添加):

通过提取...将PNG图像拆分为一系列缩小图像(隔行扫描PNG图像),其中第一个图像定义粗略视图,后续图像增强此粗略视图,直到最后一个图像完成PNG图像。这允许解码器逐行显示隔行扫描的 PNG 图像,并允许图像在动态显示时“淡入”。平均而言,隔行扫描会稍微扩大数据流大小,但它可以更快地为用户提供有意义的显示。

“-quality 80”选项没有帮助,因为这迫使 ImageMagick 不使用“过滤”来改进压缩。

于 2016-09-10T18:46:57.523 回答