Потому, что это сложно. Потому, что требует большей ответственности от всех участников процесса, большей гибкости, большей сознательности и даже храбрости - в экстремальном программировании это качество в почете.
СОФТЕРРА: Высокохудожественный командный интерпретатор
Автор: Илья Шпаньков
Когда разговор заходит о растровых графических редакторах, абсолютное большинство людей в первую очередь вспоминает Adobe Photoshop. Сторонники свободного софта, конечно, не забудут упомянуть и своего фаворита The Gimp, по умолчанию входящего в большинство GNU/Linux-дистрибутивов. Возможно, кто-то вспомнит Paint.NET или еще какой-нибудь «легкий» редактор «для дома, для семьи». Но сегодня мы поговорим не о них.
Все эти популярные средства создания и редактирования графических изображений обладают хорошо развитым интерфейсом и содержат сотни функций, позволяющих создавать настоящие шедевры цифровой живописи. Меж тем наряду со своими известными «коллегами» живет и здравствует еще один своеобразный редактор по имени ImageMagick, который скромно трудится на ниве обработки цифровой растровой графики уже не первый год. Широкой публике этот редактор (а точнее - пакет графических утилит) практически неизвестен в силу особенностей, о которых будет сказано ниже. Однако в некоторых случаях он даст фору любому именитому аналогу.
Скромный трудяга
Прежде всего, ImageMagick является платформнонезависимым: на сайте разработчиков можно найти установочные пакеты для Windows, Linux, Mac OS X, Solaris, FreeBSD и Cygwin. Помимо этого, редактор распространяется под свободной лицензией, совместимой с GPL, благодаря чему доступны все исходные коды, а пользователи практически ничем не ограничены в плане использования программы и ее «подгонки» под свои специфические цели. Но и это еще не все: авторы предлагают более десятка различных вариантов интерфейса ImageMagick, написанных на C, C++, Java, Perl, PHP и других, более экзотических языках. Несмотря на довольно аскетичный внешний вид (остающийся неизменным несколько последних лет), свое дело ImageMagick делает хорошо и к тому же освобождает авторов программы от излишних хлопот по внедрению и отладке новомодных веяний интерфейсостроения, позволяя уделять больше внимания совершенствованию функциональных возможностей. Подобная неприхотливость редактора способствует полноценному выполнению своих функций в любом программном окружении, а также открывает большой простор для интеграции с другими приложениями. Особенно рады этому разработчики свободного ПО: библиотеки ImageMagick входят в состав многих GNU/ Linux-дистрибутивов и часто используются различными программами, обладающими функциями просмотра или редактирования изображений. Наличие же в системе одного из вариантов интерфейса позволяет работать с ImageMagick как с обычным графическим редактором (рис. 1).
Список функций достаточно велик, чтобы удовлетворить потребности пользователей в создании и редактировании растровых изображений. Программа поддерживает больше сотни графических форматов и позволяет свободно конвертировать готовые работы в любой из них. Как и более популярные редакторы, ImageMagick предлагает множество вариантов трансформации и корректировки изображений, включая работу с цветовой гаммой или наложение специальных эффектов. Имеются и средства художественной обработки рисунков, позволяющие превратить обычную фотографию в имитацию картины, написанной, к примеру, масляными красками или угольным грифелем (рис. 2).
Впрочем, нет смысла подробно описывать все функциональные возможности программы, доступные из графического интерфейса: во-первых, пользователям других редакторов они привычны, а во-вторых, полный список вариантов изменения изображений явно уступает арсеналу более известных собратьев. На самом деле ImageMagick может себе это позволить, ведь его истинные возможности значительно превышают стандартный редакторский набор и для их использования не требуется красивый интерфейс или сложная система контекстных меню. Скрытые таланты необычного редактора проявляются в полной мере только при работе из командной строки.
Рисуй, консоль!
На первый взгляд работа с графикой в консольном режиме кажется невозможной: все мы привыкли, что на дисплее отображается некий графический объект, с которым мы поэтапно производим различные манипуляции. При этом на обработку одного изображения нередко уходит слишком много времени. Благодаря использованию командной строки, ImageMagick позволяет делать то же самое, но одномоментно, а при необходимости - и в пакетном режиме, применяя одни и те же средства редактирования сразу ко множеству файлов. По принципу работы этот необычный способ напоминает командный интерпретатор, хорошо знакомый пользователям GNU/Linux-систем. Сначала вводится команда, далее - набор параметров, указывающих последовательность и содержащих описание действий, которые необходимо выполнить команде в отношении указанного объекта. Таким образом, при наличии некоторых навыков работа, занимающая обычно несколько минут, выполняется в считанные секунды. В качестве примера предположим, что нам нужно поместить рисунки police.jpg и boat.jpg в рамку, снабдить подписью, разместить все это на синем фоне, а конечный результат преобразовать в формат png. В обычном редакторе эта задача выполняется в несколько довольно затратных по времени этапов, а для ImageMagick достаточно войти в режим командной строки (или открыть консоль в случае работы в UNIX-подобной операционной системе), перейти в каталог с изображениями и ввести следующую последовательность:
Читать дальше