首先,我将 lena512color.tiff amd 转换为 jpg,然后我以 90% 的质量对其运行 mogrify。令人惊讶的是,在我降低质量文件大小后更高。我在这里做错了什么?
gm convert lena512color.tiff lena512color.jpg # filesize = 37,043
gm mogrify -quality 90 lena512color.jpg # filesize = 58,132
首先,我将 lena512color.tiff amd 转换为 jpg,然后我以 90% 的质量对其运行 mogrify。令人惊讶的是,在我降低质量文件大小后更高。我在这里做错了什么?
gm convert lena512color.tiff lena512color.jpg # filesize = 37,043
gm mogrify -quality 90 lena512color.jpg # filesize = 58,132
默认情况下,输出质量设置为GraphicsMagick认为输入文件的质量。所以我猜它认为 TIFF 的质量低于 90,而你实际上是在增加设置。
您可以使用以下命令查看GraphicsMagick对图像质量的感知:
identify -format %Q someImage.jpg
90
如果您的目标是限制生成的 JPEG 的大小,您可以使用以下-define
设置目标大小:
convert in.jpg -define jpeg:extent=50KB out.jpg
结果
-rw-r--r-- 1 mark staff 49802 30 Oct 12:38 out.jpg
或者
convert a.jpg -define jpeg:extent=30KB out.jpg
结果
-rw-r--r-- 1 mark staff 28996 30 Oct 12:38 out.jpg