Imagemagick

Imagemagick - 質量 85 不起作用

  • November 23, 2018

我執行mogrify將 JPEG 圖像壓縮到 85% 的質量:

$ ls -lah Screenshot.jpg
-rw-rw-r--.  1 USER GROUP 440K May 24 12:10 Screenshot.jpg
$ mogrify -compress JPEG Screenshot.jpg -quality 85
$ ls -lah Screenshot.jpg
-rw-rw-r--.  1 USER GROUP 441K May 24 12:10 Screenshot.jpg

尺寸不會縮小。然而,如果我在 Gimp 中打開圖像並以 85% 的質量保存,尺寸確實會縮小:

ls -lah Screenshot.jpg
-rw-rw-r--.  1 USER GROUP 135K May 24 12:11 Screenshot.jpg

為什麼 ImageMagick 不將 JPEG 圖像壓縮到 85%?我在 Fedora 上使用 ImageMagick-6.6.4.1-15.fc14.i686。

看起來修飾符參數(-quality NN)和文件名的相對順序在這裡確實很重要,幾乎就像它以非常非常簡單的方式做它所告訴的那樣。

: cez@rhk; !ls
ls -lh Screenshot.jpg 
-rw-r--r--  1 cez  staff   1.3M  5 24 19:20 Screenshot.jpg
: cez@rhk; mogrify -verbose -monitor -compress JPEG Screenshot.jpg -quality 10
load image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 1.335MB 0.120u 0:05.680
save image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 1.327MB 0.240u 0:02.960
: cez@rhk; 

因此,第一次執行 mogrify 時,我們在文件名之後-quality指定參數,因此它不知道質量說明符應該應用於該圖像。

: cez@rhk;mogrify -verbose -monitor -compress JPEG -quality 85 Screenshot.jpg 
load image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 1.341MB 0.100u 0:00.119
save image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 459KB 0.190u 0:00.200
: cez@rhk; 

相反,如果我們在圖像文件名之前指定質量設置 ,它將以更高的壓縮率保存圖像,從而減小文件大小。

引用自:https://unix.stackexchange.com/questions/13696