在我的应用程序中,我需要调整PNG文件的大小并使其质量降低。
原始大小为3100x4400像素,占用2.20MB磁盘空间。
运行以下命令时:
convert -resize 1400 -quality 10 input.png output.png
这些图像已经被调整为1400x2000大小,占用了5.33MB的磁盘空间。
我的问题是:如何减小文件大小?
在我的应用程序中,我需要调整PNG文件的大小并使其质量降低。
原始大小为3100x4400像素,占用2.20MB磁盘空间。
运行以下命令时:
convert -resize 1400 -quality 10 input.png output.png
这些图像已经被调整为1400x2000大小,占用了5.33MB的磁盘空间。
我的问题是:如何减小文件大小?
你可以使用色调分离进一步降低PNG的质量:
https://github.com/pornel/mediancut-posterizer (Mac GUI)
这是一项有损操作,可以让zlib更好地进行压缩。
使用pngquant将图像转换为PNG8格式。
它将图像减少到256种颜色,因此质量取决于图像类型,但pngquant可以制作非常好的调色板,所以您可能会惊讶它经常有效。
如果你有多余的CPU时间,建议使用Zopfli-png或者AdvPNG重新压缩图像。
这是无损的,对于所有的图片都是推荐使用的。
convert source.png png8:dest.png
将其转换为PNG8格式。 - paulodiovani使用 imagemagick
调整图片大小后,您可以使用 pngquant
压缩图像。
在 Mac 上(使用 homebrew),安装 brew install pngquant
后执行以下操作:
pngquant <filename.png>
这将创建一个名为filename-fs8.png
的新图像,其大小通常要小得多。
帮助页面上写道,使用PNG格式时,-quality
选项设置zlib的压缩级别,其中0是最差的压缩,100是最好的(默认为75)。因此尝试将-quality
设置为100甚至删除该选项。
另一种方法是指定PNG:compression-level=N
、PNG:compression-strategy=N
和PNG:compression-filter=N
以获得更好的结果。
http://www.imagemagick.org/script/command-line-options.php#quality
对于希望粘贴一个一行代码的懒人:
mogrify -resize 50% -quality 50 *.png && pngquant *.png --ext .png --force
这将直接修改当前目录中所有的png文件,因此确保您有备份。按照您的需求修改调整大小和质量参数。我进行了快速实验,先使用mogrify,然后再使用pngquant,可以显著减小图像大小。
Ubuntu的pngquant软件包名为"pngquant",但我在20.04LTS上已经安装了它,因此似乎默认情况下就已经存在。
标签。
- density [value]
参数。