Софтерра: Командная строка для дизайнера
Софтерра: Командная строка для дизайнера
Автор: Сергей Токарев
Анекдот, вынесенный в эпиграф, неплохо описывает современное состояние открытого векторного редактора Inkscape. При всем уважении к проекту нельзя не заметить, что работает он не слишком шустро, и объекты перерисовываются куда медленнее, чем в том же Corel Draw. Тем не менее в Inkscape вполне можно работать. О его слабости, силе и тайной мощи мы сегодня и побеседуем.
Эмбрион чего-то большего
Проект Inkscape уходит корнями в редактор Sodipodi. В конце 2003 года четыре участника разработки Sodipodi решили, что неплохо бы создать пакет, более дружелюбный к пользователям, а также полностью поддерживающий открытый формат SVG
[Создание нового открытого продукта на базе существующего называется «форк» (от англ. fork — вилка), подробнее об этом можно прочитать в статье«Не стучать, открыто» («КТ»#565). — И.Щ]
. За два года команде удалось продвинуть программу аж до версии 0.43. Звучит не очень серьезно, верно? Однако следует учитывать, что и сам Sodipodi был продуктом, вполне пригодным к употреблению. Так что даже с такой дробной версией Inkscape смотрится вполне себе бодрячком. И на вопрос «Можно ли работать в этом редакторе?» лучше всего отвечают экспонаты, представленные в галерее сайта www.inkscape.org. Пользователи разного уровня — от дизайнеров до системных администраторов — готовят в редакторе эскизы веб-сайтов, рисуют иконки и даже создают, вы не поверите, макеты для щитовой рекламы (рис. 1, 2). Последний пример наглядно доказывает, что с чем-чем, а с практическим применением у Inkscape все в порядке.
Редактор оснащен базовым набором инструментов, знакомых, наверное, каждому пользователю, хоть раз имевшему дело с векторной графикой (рис. 3). С их помощью можно выполнять как базовые операции (перемещение объектов, редактирование узлов на кривых и управляющих рычагов на объектах), так и более интересные (хотя тоже привычные) действия:
создавать прямоугольники;
создавать круги и эллипсы;
создавать звезды;
создавать спирали;
рисовать кривые Безье в свободном стиле (аналог карандаша или Freehand в других редакторах);
рисовать кривые Безье по точкам (напоминает больше инструмент Bezier в Corel Draw, чем Pen в Adobe Illustrator);
рисовать «каллиграфической кистью» (остается след, как от кисти с тушью);
вводить и редактировать текст (как в виде отдельных строк, так и в виде рамок, заполненных текстом, — аналог Paragraph в Corel Draw);
создавать коннекторы, соединяющие объекты даже при их перемещении;
создавать и редактировать градиентные заливки и обводки.
Конечно, подобный набор довольно скуден с точки зрения современного дизайнера и напоминает нам о бедной юности и графических редакторах начала-середины 90-х годов. Но будем справедливы — Inkscape еще не дорос до версии 1.0, а в том, что дополнительные возможности в нем появятся, можно не сомневаться. И чуть позже я расскажу о том, какие инструменты для него разрабатываются прямо сейчас. А пока отмечу, что все реализованные функции работают стабильно, а инструмент «текст» поддерживает кириллические шрифты. Вообще, локализация программы — одна из сильных ее сторон. Inkscape уже в текущем состоянии позволяет выбрать язык интерфейса из богатого набора, включающего не только русский и основные европейские, но и экзотические языки вроде эфиопского.
Отмечу такой полезный эффект, как Inset/Outset в меню Path (Втянуть/Вытянуть в меню Контуры в русской локализации). Под этой операцией подразумевается не что иное, как равномерное «раздувание» или «сдутие» фигуры наподобие воздушного шарика. Аналогом можно назвать операцию Offset Path в Adobe Illustrator.
В целом набор функций выглядит скромно. Плавающих палитр цветов и обводок пока нет, все свойства объектов необходимо вводить из диалоговых окон. Зато реализованы слои, прозрачность объектов, палитры выравнивания, а также базовые операции с контурами. Перед нами — сама юность векторных редакторов, то состояние, в котором современные гиганты от Corel и Adobe пребывали пять-шесть версий назад. И это внушает надежду. Если таков эмбрион программы, то какой же она станет к моменту своего рождения?
Главный минус
Поработав в Inkscape под Windows XP, я убедился в том, что редактор годится для рисования и разработки несложных макетов. Единственное, к чему возникли серьезные претензии, — это к скорости. Нарисовав с десяток кривых, я столкнулся с тем, что программа начала сильно тормозить при перемещении или создании новых объектов, переключении между программами и даже при открытии диалоговых окон.
Надо полагать, версия под Linux работает все-таки быстрее, но в Windows-реализации я время от времени чувствовал себя черепахой. Судя по форуму и списку пожеланий к разработчикам, скорость Inkscape действительно пока остается слабым местом, над которым разработчики обещают подумать.
Хитрости
— Палитра выравнивания Inkscape предоставляет интересную функцию — случайное распределение объектов в рамках выделения. Щелкая по ней, можно легко впасть в медитативное состояние. Объекты причудливо собираются в группы и рассыпаются, словно организмы из игры Жизнь. Простой, но хороший способ убить время или добавить к креативу некоторое очарование хаоса.
— Попробуйте в Inkscape такой классический прием векторного дизайна, как контуры-дубли, и вы не пожалеете о потраченном времени. Выделите любой объект и нажмите Ctrl + D. Вы получите его точную копию. Нажмите клавишу End, чтобы разместить объект на заднем фоне под оригиналом. А теперь поиграйте с комбинациями клавиш Ctrl + ) или Ctrl + (, соответственно вытягивая или втягивая контуры дубля. Измените цвет, чтобы подчеркнуть контрастность. Повторите операцию несколько раз и вы получите весьма интересный «слоеный» эффект (рис. 4)
Секретное оружие — XML-редактор
Команда, работающая над Inkscape, всерьез настроена на то, чтобы сделать его лучшим редактором для работы с SVG. Что это такое? Это Scalable Vector Graphics — открытый графический формат, предназначенный для самых разных задач. По своей природе формат поддерживает геометрические фигуры (круги, прямоугольники, звезды), кривые Безье, текст, прозрачность и другие возможности, присущие векторной графике. Особенность SVG в том, что вся информация хранится в XML-файле. Поэтому иногда SVG называют еще аналогом HTML для графики. Действительно, редактировать SVG-файлы можно в обычном текстовом редакторе, и я не сомневаюсь, что время от времени многие любители так и поступают.
Так вот, прелесть и дополнительная мощь Inkscape как раз и состоит в том, что в нем есть встроенный XML-редактор, отображающий древовидную структуру документа со всеми слоями, объектами и свойствами. И в любой момент в нем можно найти нужный объект и собственноручно поиграть со всеми его параметрами, просто вбивая нужные цифры. Так, я нарисовал звезду с пятью лучами, а потом захотел увеличить их количество! Не найдя, как это сделать через обычный интерфейс, я не стал мудрствовать лукаво, открыл XML-редактор и вбил цифру 7. Inkscape задумчиво поморгал, обновляя экран, и прямо на глазах умножил лучи звезды до семи. Более того, немного покопавшись, я нашел свойство Rounded, отвечающее за скругление углов, и свойство Randomized, отвечающее за случайный разброс и размеры лучей. Их пока нельзя изменить визуальным способом, но для XML-редактора это не проблема. Пара секунд — и звезда окончательно мутировала в симпатичную кляксу (рис. 5). Пожалуй, за такое можно простить любые тормоза.
В XML-редакторе кроется мощь, которая и не снилась более совершенным разработкам. Потому что все, абсолютно все объекты и их свойства не просто выводятся в одном древовидном списке, но еще и доступны для правки. Подобного централизованного менеджера объектов, к сожалению, нет ни в Adobe Illustrator, ни в Corel Draw, ни в других современных графических пакетах.
Пробежавшись по XML-дереву, я могу быстро убедиться в том, что нужные мне объекты действительно имеют нужные цвета и прозрачности, а границы выравненных фигур совпадают с точностью до пиксела. А если что-то идет не так, я могу тут же исправить все вручную. И можно с уверенностью сказать, что ввод параметров с клавиатуры произойдет куда быстрее, чем аналогичная операция, произведенная визуальными средствами. Подобные возможности просто незаменимы при проверке макета, особенно когда требуется повышенная точность. Остается только добавить к Inkscape полноценную поддержку полиграфии — и препресс-инженеры станут творить чудеса!
Кроме того, работа с XML-редактором открывает дополнительные горизонты и для творчества. Если вы в душе больше инженер, чем художник, вам наверняка доставит удовольствие видеть, как графические объекты подчиняются командам с клавиатуры. Можно сказать, что Inkscape оснащен мощной командной строкой, позволяющей делать что угодно. Конечно, для этого потребуется изучить формат SVG. Но я думаю, что для поклонников командной строки это не станет препятствием. В конце концов, если многие до сих пор верстают HTML в «Блокноте», то почему бы аналогичным способом не работать и с векторной графикой?
Заглядывая в будущее
Надо понимать, что Inkscape пока не готов конкурировать с такими гигантами, как Corel Draw или Adobe Illustrator. Вопрос не только в скорости, но и в отсутствии многих функций, необходимых для работы с полиграфическим дизайном. Кроме того, в своем нынешнем состоянии Inkscape больше напоминает продукт для инженера, нежели для художника — уж слишком мало в нем креативных инструментов. Хотелось бы увидеть дополнительные эффекты и кисти, оставляющие произвольные следы. Не хватает поддержки популярных векторных форматов и экспорта веб-графики с предварительным просмотром.
Впрочем, исследовав текущее состояние проекта, я обнаружил, что большинство вышеперечисленных пожеланий уже было высказано пользователями. И разработчики уже занялись воплощением некоторых из них.
Очень интересным новшеством обещает стать поддержка произвольных векторных кистей и графических планшетов Wacom. В сентябре 2005 года один из разработчиков отрапортовал, что первая часть проекта, заключавшаяся в распознавании силы нажатия пера на планшет, уже реализована. В настоящее время работа ведется над второй частью, в которую войдут сами кисти, а также библиотеки для их хранения и быстрого использования. По ее завершении в Inkscape можно будет рисовать на планшетах, причем след кисти будет менять ширину, цвет и прозрачность в зависимости от силы нажатия. Очень заманчивая возможность, которая вплотную приблизит редактор к его коммерческим конкурентам!
Многие пользователи, как можно судить по форумам, отнюдь не довольствуются скромной ролью Inkscape как веб-редактора и требуют ввести поддержку системы цветовых профилей, работу в режимах CMYK и Lab, настраиваемые цветовые палитры и поддержку плашечных цветов. Разработчики признают всю важность требований и уже взялись за их реализацию. Быть может, полная версия Inkscape действительно станет первым бесплатным векторным редактором, пригодным для работы с полиграфией?
Кроме того, отмечена активность на следующих фронтах:
импорт и экспорт файлов в формате Autocad DXF;
поддержка форматов PS, EPS, PDF (и, возможно, AI) для Windows-версии (часть форматов уже поддерживается в Linux-версии);
плавающие палитры — в частности, для цветов и свойств объекта;
широкая поддержка плагинов.
В последнем случае речь идет фактически о написании универсального SDK для плагинов, с помощью которого можно было бы создавать эффекты, а также новые объекты, инструменты и элементы интерфейса. Не исключено, что будет реализована возможность работы со скриптами, подобно тому, как это сделано в Corel Draw.
Happy End?
Впрочем, даже перечисленные функции для Inkscape — не предел развития, а скорее программа-минимум. Дело в том, что в отдаленном будущем запланировано слияние Inkscape и такого мощного редактора, как Xara Extreme. Да-да, вы не ослышались. Компания Xara передала исходники своего суперредактора в руки свободных разработчиков. Более того, на сайте Open Source Xara Xtreme (www.xaraxtreme.org) разработчики открыто признались, что хотели бы объединить лучшие черты Inkscape и своего редактора.
Напомню, что Xara Xtreme является сверхбыстрым векторным редактором, обладает невероятно сильным движком для отображения фигур (самые красивые и сглаженные векторные объекты можно увидеть именно в этом редакторе), мощным набором креативных инструментов и фильтров для импорта и экспорта в самые разные форматы (включая Adobe Illustrator, Photoshop и Corel Draw).
Сейчас ведутся работы над открытым проектом Xara Xtreme для Linux и Mac (Windows-вариант пока остается под вопросом). На данный момент у Linux-версии работает только рендеринг изображения на экране, и пакет можно использовать лишь для загрузки и просмотра готовых документов. С этим он справляется на пять (рис. 6).
Если удастся довести Xara Xtreme Linux (или Xara XL) до рабочего состояния, то этот пакет может на какое-то время стать самым сильным конкурентом Inkscape. Но если все обещания будут выполнены, то со временем мы увидим и редактор «два-в-одном», объединяющий возможности Xara и Inkscape. И это будет настоящим праздником. Потому что векторный редактор такого уровня сделает честь даже Windows, не говоря уже о Linux.
Итоги
Inkscape на данный момент является лучшим векторным редактором из всего, что есть для Linux. Он обеспечивает базовые операции для работы с векторной графикой и имеет мощный встроенный XML-редактор — аналог командной строки и менеджера объектов в одном лице. У него есть все шансы стать лучшим векторным редактором как на Linux, так и среди бесплатных программ вообще.
Ну а если Xara и Inkscape все-таки объединятся, думаю, для многих это может даже стать аргументом для перехода на Linux. Интересно, как будет называться этот чудо-редактор. XaraScape? Или, быть может, InXara?