2011-06-13 90 views
7

我想在Perl使用ImageMagick的命令行壓縮的圖像(目前,我只能夠翻轉...)ImageMagick的/ Mogrify - 壓縮圖像編程

system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.jpg"); 

圖像必須在尺寸上縮小50%,但保留相同的尺寸!我可以調整圖像的大小,但如何pixelate圖像降低分辨率,但保持相同的尺寸?

我希望有人能幫助。

提前

回答

12

ImageMagick的感謝提供-compress開關,它可能會做你想要什麼。

-compress:無,BZIP,傳真,組4,JPEG,JPEG2000,無損,LZW,RLE或郵編:寫入圖像

選擇是當由類型指定使用像素壓縮。

要打印完整的壓縮類型列表,請使用-list compress

指定+compress以非壓縮格式存儲二進制映像。默認值是指定圖像文件的壓縮類型。

如果指定了LZW壓縮,但未啓用LZW壓縮,則圖像數據將以LZW解碼器可讀取的非壓縮LZW格式寫入。這可能會導致GIF文件大於預期。

無損是指無損JPEG,僅當JPEG庫已經被修補以支持JPEG時纔可用。通常不建議使用無損JPEG。

使用-quality選項設置JPEG,PNG,MIFF和MPEG編碼器要使用的壓縮等級。使用-sampling-factor選項可設置JPEG,MPEG和YUV編碼器用於下采樣色度通道的採樣因子。


檢查這個例子/實驗:

>>> du data/lena.png 
464K data/lena.png 
>>> cp data/lena.png . 
>>> convert lena.png lena.jpg 
>>> du lena.jpg 
76K lena.jpg   # already a lot smaller by going png --> jpeg 
>>> mogrify -compress JPEG -quality 5 lena.jpg 
>>> du lena.jpg 
8.0K lena.jpg  # well, it did compress a lot and it's still viewable 
+0

嘿,感謝您的回答。我對有損壓縮感興趣,但我認爲圖像尺寸得到調整... – Eamorr 2011-06-13 15:33:51

+0

你肯定可以用這個,我會添加一個我剛剛嘗試過的例子 – c00kiemon5ter 2011-06-13 16:00:44