ImageMagick / Mogrify - программно сжимать изображение - PullRequest
7 голосов
/ 13 июня 2011

Я пытаюсь сжать изображение в командной строке с помощью Imagemagick в Perl (в настоящее время я могу только перевернуть его ...)

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

Изображение должно быть сжато по размеруна 50%, но сохраняют те же размеры !Я могу изменить размер изображения хорошо, но как pixelate изображение, чтобы уменьшить разрешение, но сохранить те же размеры?

1 Ответ

13 голосов
/ 13 июня 2011

ImageMagick предоставляет переключатель -compress, который может делать то, что вы хотите.

-compress: использовать сжатие пикселей, указанное типом, при записи изображения

Доступны следующие варианты: Нет, BZip, Факс, Группа4, JPEG, JPEG2000, Без потерь, LZW, RLE или Zip.

Чтобы распечатать полный список типов сжатия, используйте -list compress.

Укажите +compress для хранения двоичного изображения в несжатом формате. По умолчанию используется тип сжатия указанного файла изображения.

Если указано сжатие LZW, но сжатие LZW не включено, данные изображения записываются в несжатом формате LZW, который может считываться декодерами LZW. Это может привести к тому, что файлы GIF превзойдут все ожидания.

Без потерь относится к 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
...