我正在使用Image Magick操纵图像。这是我使用的命令:
convert source.png -resize 1200 -quality 75 result.jpg
它按预期工作。我不知道是否有办法报告转换结果显示压缩程度(以百分比或千字节为单位或仅显示原始图像和转换图像的大小)?
我尝试过-monitor
切换,但它只在转换过程中显示了一种进度报告。
(我正在使用Linux)
答案 0 :(得分:2)
您使用的质量设置告诉ImageMagick压缩图像的程度。或者,您可以根据输入大小计算输出文件大小的比率。或者输出文件大小与-quality 75的比率与使用-quality 100时的比率,即使-quality 100仍然压缩了一些。
您可以通过
获取图片的大小convert image -precision 16 -format "%b\n" info:
设置较大的精度将强制结果为字节,但您必须从末尾删除B字符。因此,您可以执行以下操作来获取输出/输入文件大小的百分比:
outsize=$(convert output -precision 16 -format "%b\n" info: | sed 's/B//g')
insize=$(convert input -precision 16 -format "%b\n" info: | sed 's/B//g')
percent_size=$(convert xc: -format "%[fx:100*$outsize/$insize]\n" info:)