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

时间:2017-05-28 14:23:38

标签: php imagemagick filesize

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

如果我删除-resize 70%,则图片尺寸仅为78,527
但是,当文件存储在70%时,文件大小为860,504

是什么让较小的图像文件更大,有没有办法减少文件大小而不会丢失质量?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

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

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

如果你想要一个8位的结果,那么你可以使用PNG8:myconvertedfile.png作为你的输出。

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

您可以使用-sample替换-resize,而不是将像素插入到新值中。 -sample将抓住每个第n个像素。