Wednesday, May 11, 2011

Групповая обработка изображений с использованием GraphicsMagick

Возникла задача перевести палитру изображений из цветной в оттенки серого (gray), и затем перевести оные изображения из формата BMP в формат GIF. Вот. Файлов много, при этом конечно переводить каждый файл в ручную дико скучно и неохота, надо все это сделать одним нажатием клавиши.

Сделать это можно разными способами, ну а в данной статье представлен способ с использованием пакета консольных программ GraphicsMagick.

Скачиваем, устанавливаем, пишем вот такой батничек:


gm mogrify -colorspace Rec709Luma *.bmp
gm mogrify -format gif *.bmp


и готово.

Теперь остановлюсь по подробнее на скрипте:

Строка gm mogrify -colorspace Rec709Luma *.bmp -преобразует палитру всех файлов с расширением "bmp" в оттенки серого. Предполагается что файлы расположены в той же папке что и скрипт.

Строка gm mogrify -format gif *.bmp -конвертирует все файлы с расширением "bmp" в формат "GIF".

Краткое описание использованных команд:

gm - консольная программа которая все делает;

mogrify - команда для групповой обработки файлов.

colorspace - опция, указывающая на то что нужно преобразовать палитру (набор цветов), с флагом "Rec709Luma" преобразует в оттенки серого. Для оттенков серого можно использовать также флаг "Gray" - про нюансы использования рекомендую смотреть в описании.

format - конвертирует файл в другой формат, например -format gif *.bmp - преобразует все файлы с расширением "bmp" в формат "GIF". Полный список поддерживаемых форматов и их обозначения можно посмотреть набрав в консоли такой код: gm mogrify -list format
Команда используется и для других целей, подробнее см. в описании.

No comments: