Выбрать главу
Рисуй, консоль!

На первый взгляд работа с графикой в консольном режиме кажется невозможной: все мы привыкли, что на дисплее отображается некий графический объект, с которым мы поэтапно производим различные манипуляции. При этом на обработку одного изображения нередко уходит слишком много времени. Благодаря использованию командной строки, 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 на компьютер. Естественно, все функции, доступные при работе в графическом интерфейсе этого редактора, тоже остаются в нашем распоряжении, только для их использования уже не придется гонять курсор мыши по меню.

При первом знакомстве с подобным стилем работы неизбежно появляется ощущение, что все это слишком сложно и непонятно: физически невозможно запомнить все параметры команд, а тем более с первой попытки правильно выставить их значения, чтобы получить ожидаемый результат. На самом деле, чем чаще вы будете пользоваться редактором, тем проще будет выполнять поставленные задачи. Достаточно накапливать часто используемые комбинации в виде текстового файла-хранилища, а впоследствии лишь копировать нужный кусок кода в командную строку с внесением некоторых изменений. В конце концов в ваших руках окажется солидная подборка уже готовых решений почти на все случаи жизни. Если же вы захотите привнести в свои работы свежие идеи, к вашим услугам сайт разработчиков редактора, где опубликовано подробное описание всех команд и операторов, позволяющее быстро найти подходящий вариант.