ImageMagick - 较小的调整大小的图像是一个更大的文件大小

Posted

技术标签:

【中文标题】ImageMagick - 较小的调整大小的图像是一个更大的文件大小【英文标题】:ImageMagick - Smaller resized image is a much larger file size 【发布时间】:2017-05-28 14:23:38 【问题描述】:

在 ImageMagick 中,我正在运行: convert -trim -density 200 myfile.tif -resize 70% myconvertedfile.png

如果我删除-resize 70%,图像大小只有78,527。 但是,当文件存储在70%时,文件大小为860,504

是什么让较小的图像成为较大的文件大小,有没有办法在不损失质量的情况下减小文件大小?

【问题讨论】:

identify 为每个文件(输入和两个输出)报告什么? 分享 TIF 并告诉我们您的 IM 版本怎么样? 【参考方案1】:

由于在调整大小操作期间像素插值,您的较小图像很可能具有更多颜色。要在不添加颜色的情况下调整大小,请使用 -sample 70% 而不是 -resize 70%

【讨论】:

【参考方案2】:

您的 tiff 可能会被压缩,Imagemagick,然后解压缩并输出到 png。生成的 png 压缩可能会产生比您的 tiff 压缩更大的文件大小。此外,tif 可能是 8 位颜色,但在调整大小时,它会获得新颜色,因此必须将 24 位颜色保存到 PNG 中。我怀疑是后者。

您还应该使用正确的 ImageMagick 语法,在应用设置和运算符之前读取输入图像。然而,ImageMagick 6 在这方面是宽容的。

convert myfile.tif -trim -resize 70% -density 200 myconvertedfile.png

如果您想要 8 位结果,则可以使用 PNG8:myconvertedfile.png 作为输出。

指定密度时,应指定单位。 PNG 仅存储每厘米像素的单位,但会将密度和每英寸像素转换为正确的每厘米像素。

您可以将 -resize 替换为 -sample,而不是将像素插入新值。 -sample 只会抓取每第 n 个像素。

【讨论】:

以上是关于ImageMagick - 较小的调整大小的图像是一个更大的文件大小的主要内容,如果未能解决你的问题,请参考以下文章

如何为较小的屏幕调整图像大小?

使用具有最大宽度/高度的 ImageMagick 调整大小

Google翻译下拉窗口不会在较小的屏幕上重新调整大小

Xamarin UWP 应用程序不限制用户在 150(推荐)分辨率下将窗口大小调整为较小的大小

尝试调整我的 UIView 容器以适应较小的 iPhone 屏幕尺寸

UIImage 调整大小并裁剪以适合