Впрочем, нет смысла подробно описывать все функциональные возможности программы, доступные из графического интерфейса: во-первых, пользователям других редакторов они привычны, а во-вторых, полный список вариантов изменения изображений явно уступает арсеналу более известных собратьев. На самом деле ImageMagick может себе это позволить, ведь его истинные возможности значительно превышают стандартный редакторский набор и для их использования не требуется красивый интерфейс или сложная система контекстных меню. Скрытые таланты необычного редактора проявляются в полной мере только при работе из командной строки.
Рисуй, консоль!
На первый взгляд работа с графикой в консольном режиме кажется невозможной: все мы привыкли, что на дисплее отображается некий графический объект, с которым мы поэтапно производим различные манипуляции. При этом на обработку одного изображения нередко уходит слишком много времени. Благодаря использованию командной строки, ImageMagick позволяет делать то же самое, но одномоментно, а при необходимости - и в пакетном режиме, применяя одни и те же средства редактирования сразу ко множеству файлов. По принципу работы этот необычный способ напоминает командный интерпретатор, хорошо знакомый пользователям GNU/Linux-систем. Сначала вводится команда, далее - набор параметров, указывающих последовательность и содержащих описание действий, которые необходимо выполнить команде в отношении указанного объекта. Таким образом, при наличии некоторых навыков работа, занимающая обычно несколько минут, выполняется в считанные секунды. В качестве примера предположим, что нам нужно поместить рисунки police.jpg и boat.jpg в рамку, снабдить подписью, разместить все это на синем фоне, а конечный результат преобразовать в формат png. В обычном редакторе эта задача выполняется в несколько довольно затратных по времени этапов, а для ImageMagick достаточно войти в режим командной строки (или открыть консоль в случае работы в UNIX-подобной операционной системе), перейти в каталог с изображениями и ввести следующую последовательность:
montage -label %f -frame 5 -background blue -geometry +4+4 boat.jpg police.jpg galery.png
В результате через секунду в каталоге с исходными изображениями появится то, что требовалось (рис. 3).
Впрочем, работа с уже существующими изображениями выглядит не так эффектно. Чтобы усложнить задачу, попробуем создать графический файл из обычного текста. Как правило, именно изготовление красочных надписей или заголовочных баннеров отнимает массу времени и сил. Приходится работать со слоями, постепенно добавляя к тексту необходимые декорации в виде, например, обрамления букв и тени. ImageMagick выполняет подобную работу без особого труда. Вот как выглядит команда с назначенными параметрами:
convert -size 600x85 xc:transparent -font Bookman-DemiItalic -pointsize 72 -draw “text 25,60 ‘Компьютерра’” -channel RGBA -gaussian 0x6 -fill darkblue -stroke white -draw “text 20,55 ‘Компьютерра’” computerra-title.png
После того как команда выполнена (что может занять две-три секунды), в нашем рабочем каталоге появится готовый графический файл с красочно оформленным текстом (рис. 4).
Также можно создавать и более сложные варианты текстовой графики, одновременно добавляя фоновый рисунок, сгенерированный самим редактором или взятый извне. Список параметров в этом случае значительно увеличится, и для сохранения журнального места и психического равновесия читателей мы его не приводим. Впрочем, на скорость выполнения команды разрастание кода практически не повлияет. Через пару секунд в нашем распоряжении окажется файл, на создание которого с помощью обычных графических редакторов ушло бы не меньше часа-двух (рис. 5).
Всего в ImageMagick насчитывается одиннадцать команд, фактически являющихся отдельными приложениями (см. врезку). Каждой из них соответствует по несколько десятков параметров, что позволяет очень точно указывать, какие действия необходимо произвести с исходным материалом. Учитывая, что практически каждому параметру можно присвоить сотни значений, можно представить, насколько гибкий и мощный инструмент попадает в наши руки после установки ImageMagick на компьютер. Естественно, все функции, доступные при работе в графическом интерфейсе этого редактора, тоже остаются в нашем распоряжении, только для их использования уже не придется гонять курсор мыши по меню.
При первом знакомстве с подобным стилем работы неизбежно появляется ощущение, что все это слишком сложно и непонятно: физически невозможно запомнить все параметры команд, а тем более с первой попытки правильно выставить их значения, чтобы получить ожидаемый результат. На самом деле, чем чаще вы будете пользоваться редактором, тем проще будет выполнять поставленные задачи. Достаточно накапливать часто используемые комбинации в виде текстового файла-хранилища, а впоследствии лишь копировать нужный кусок кода в командную строку с внесением некоторых изменений. В конце концов в ваших руках окажется солидная подборка уже готовых решений почти на все случаи жизни. Если же вы захотите привнести в свои работы свежие идеи, к вашим услугам сайт разработчиков редактора, где опубликовано подробное описание всех команд и операторов, позволяющее быстро найти подходящий вариант.
Заканчивая рассказ об ImageMagick, отмечу, что для большинства пользователей, работающих с графикой от случая к случаю, использование этой программы может оказаться не совсем рациональным: не исключено, что быстрее выполнить небольшую работу привычным способом, нежели изучать консольные команды. Впрочем, при совершении простых однотипных операций над большим количеством изображений (например, изменение размера или добавление подписи) ImageMagick, используемый вместе с каким-нибудь скриптовым языком (bash, Perl, Python или собственным Magick Scripting Language), может существенно сэкономить время. Для тех же, кто постоянно занимается созданием и редактированием графических изображений, ImageMagick может стать неплохим инструментом, если не заменяющим, то весьма удачно дополняющим даже самые именитые программы.
Ссылки
• imagemagick.org - официальный сайт проекта: релизы для скачивания, исчерпывающая документация, полезные ссылки.
• www.cit.gu.edu.au/~anthony/graphics/imagick6 - обширная галерея примеров использования ImageMagick.
Команды пакета ImageMagick
• animate - отображение анимации (слайд-шоу) из набора файлов через X-сервер;
• compare - визуальное сравнение файлов и количественная оценка степени их схожести;
• composite - наложение изображений;
• conjure - выполнение скриптов на собственном языке Magick Scripting Language;
• convert - конвертирование изображений из одного формата в другой, а также применение к ним самых разнообразных операций (изменение размера, наложение фильтров и т. д.);
• display - отображение изображений и слайд-шоу через X-сервер;
• identify - получение информации о формате и параметрах одного или нескольких графических файлов;
• import - сохранение скриншотов произвольных областей экрана;
• mogrify - изменение размера изображения или применение к нему различных операций. Отличается от convert тем, что меняет исходный файл, а не создает новый;