004
Векторный
редактор графики Inkscape
Лысенко
Е. А.
ХГТУСА
Данная статья
посвящена редактору Inkscape, Как одному
из лучших редакторов векторной графики.
Он удобен для создания как художественных,
так и технических иллюстраций (вплоть
до использования в качестве системы автоматизированного
проектирования общего назначения, чему
также способствует легкость обмена чертежами).
Это стало возможным во многом благодаря
открытому формату SVG,
развиваемому консорциумом W3C.
Формат SVG позволяет создавать иллюстрации
различного типа, в том числе анимированные.
Поскольку SVG основан на языке разметки XML,
к нему можно писать расширения, чем авторы
Inkscape и пользуются. Программа распространяется
на условиях GNU General Public License.
Inkscape включает в
себя всевозможные инструменты, форматы,
эффекты, которые помогают создавать наиболее
реалистичное изображении, плакат и т.
д. Рассмотрим преимущества Inkscape более
детально :
- привычные
инструменты: выделение, масштабирование, правка
узлов, прямоугольник, эллипс,звезда, спираль, линия
от руки, перо (кривые Безье), текст, градиент, пипетка;
- инструмент Заливка для
трассирующей заливки, создающий новый
контур заданного цвета из любой замкнутой
векторной или растровой области;
- инструмент Корректор для
изменения формы и цвета контуров мягкой
кистью;
- инструмент Параллелепипед для
рисования параллелепипеда в перспективе,
с простым редактированием линий перспективы
и точек схода;
- инструмент Каллиграфическое
перо, позволяющий выполнять серьёзные
каллиграфические работы при помощи планшета
(распознаётся сила нажатия и наклон пера),
а также содержащий встроенную функцию
штриховой гравировки;
- инструмент Ластик,
предназначенный для стирания объектов
или их части;
- инструмент Аэрограф,
предназначенный для распыления копий
или клонов выделенного объекта, учитывает
сила нажатия пером планшета;
- рисование
кривых Спиро (клотоиды),
то есть всегда ровных, без «горбов» кривых
- контекстная
панель параметров инструментов;
- большое количество
продуманных клавиатурных комбинаций
для вызова функций;
- информативная
статусная строка, сообщающая полезную
информацию о выделенных объектах и подсказывающая
клавиатурные комбинации;
- встроенный
векторизатор растровых изображений,
использующий SIOX для выделения объектов
на переднем плане;
- расширенные
возможности работы с клонами объектов,
создание узора из клонов при помощи любой
из 17 групп симметрии;
- поддержка
наклона и силы нажатия стилуса при использовании
графических планшетов (инструментКаллиграфическое
перо);
- коллективное
рисование через протокол XMPP (временно
отключено);
- экономия
времени за счёт использования клонов
и вставки стиля (присваивание свойств
заливки и штриха одного объекта другому);
- редактор
XML-кода документа с деревом объектов —
для доступа к временно неподдерживаемым
в графическом интерфейсе параметрам
документа;
- возможность
аналитического задания кривых с использованием
возможностей языка python;
- дополнения,
позволяющее создавать формулы в стиле LaTeX,
а также строить графики с использованием PSTricks.
Кроме этого
Inkscape обладает рядом других преимуществ,
к примеру собственный формат документов,
который был упомянут ранее:
- основан на
SVG v1.1, содержит ряд расширений для увеличения
функциональности;
- документы
Inkscape SVG можно сохранить как Plain SVG с возможностью
изменять неподдерживаемые в обычном
SVG элементы как контуры;
- документы
можно сохранять и открывать в сжатом
виде, с использованием алгоритма компрессии
gzip;
- использование
групп SVG как слоёв, перемещение документов
между слоями.
История создания
Inkscape начинаеться с того , что нескольких
программистов и пару дизайнеров, умеющих
писать код, перестали устраивать условия
разработки редактора векторной графики
Sodipodi. Поняв, что они не смогут в должной
степени применить свои навыки, они организовали
новый проект, который назвали Inkscape. На
тот момент в GNU/Linux было всего два редактора
векторной графики, которые можно было
использовать в реальной работе — Sodipodi
и SKetch, позднее переименованный в Skencil.
С тех пор разработка Sodipodi и Skencil сошла
на нет. Inkscape де-факто стал самым популярным
свободным редактором в своей области.
Нельзя не сказать,что
проект Inkscape участвует в программе Google Summer of Code с 2005 года, то есть с
самого начала. Благодаря участию в программе
проект обзавёлся новыми постоянными
разработчиками:
2005
- Создание
встроенного средства коллективной работы
средства Inkboard. Проект успешно завершён.
- Создание
инструмента соединительных линий для
технических иллюстраций (блок-схем и т. д.).
Проект успешно завершён, Майкл продолжает
работать над инструментом, параллельно
пробуя новые идеи в прототипе под названием
Dunnart.[6]
- Импорт/экспорт
DXF — Matt Squires. Проект не был завершён; код
Мэтта лежит в дереве разработки, но не
используется. Начиная с версии 0.47 импорт
DXF реализован иным способом.
2006
- Поддержка
фильтров SVG[5]. Проект успешно завершён.
- Изменения
в протоколе и библиотеке Inkboard. Проект
успешно завершён.
- Экспорт в
PDF через Cairo. Проект успешно завершён.
- Оптимизация
использования памяти. Проект не реализован.
2007
- Улучшения
в работе с текстом. Реализована поддержка
<tref>, улучшена внутренняя обработка
разных начертаний внутри гарнитуры. Код
включен в состав версии 0.46.
- Встроенный
импорт PDF и AI на основе poppler. Код включен
в состав версии 0.46.
- Динамические
контурные эффекты для контуров. Код включен
в состав версии 0.46.
- Инструмент
рисования параллелепипедов в перспективе.
Код включен в состав версии 0.46.
- Графический
интерфейс к фильтрам SVG. Код включён в
состав версии 0.46.
- Растровые
эффекты на основе ImageMagick. Код включён
в состав версии 0.46.
- Импорт и экспорт данных на ccHost. Код включён
в состав версии 0.46.
2008
- Поддержка
SVG Fonts. Проект успешно завершён.
- Интеграция
lib2geom: внутреннее представление контуров.
Проект успешно завершён.
- Разработка
lib2geom: наращивание функциональности. Проект
успешно завершён.
- Техническое
иллюстрирование в Inkscape. Проект успешно
завершён, но за недоработанностью не
включён в новые версии программы.
- Пакет тестов.
Проект успешно завершён.
2009
- Улучшения
в реализации управления цветом и поддержке
CMYK. Успешно завершено, будет доступно
в 0.48.
- API для написания
сценариев. Успешно завершено, сроки включения
в основное дерево разработки пока неизвестны.
- Одновременное
редактирование нескольких контуров.
Успешно завершено, будет доступно в 0.48.
- Улучшения
в работе инструмента соединительных
линий. Успешно завершено, будет доступно
в 0.48.
- Разработка
lib2geom. Проект не завершён.
2010
- Пространственно-временное
индексирование объектов документа для
повышения производительности.
- Рендеринг
при помощи Cairo.
- Динамический
контурный эффект Power Stroke (модулируемая
толщина контура).
- Переработка
сохранения и экспорта, переработка диалога
экспорта.
- Переписывание
SPlayer на C++
Безусловно Inkscape
- это один из лучших векторных графических
редакторов, но как у любого проекта есть
маленькие недостатки:
- повышенные
требования к системным ресурсам и вследствие этого —
медлительность;
- «сырость»
ряда фильтров импорта;
- Несмотря
на то, что в создаваемых файлах прозрачность
хорошо поддерживается, невозможно отображать
прозрачный фон во время рисования. Пользователь
вынужден рисовать на белом фоне, и это
невозможно изменить в настройках. Это
серьёзный недостаток, учитывая то, что
в остальных редакторах, поддерживающих
прозрачность, она отображается уже в
процессе работы.
В заключении статьи
приведем рисунок, созданный в рамках
подготовки презентации на конференцию
Free and Open Source Software (рис 1).
Рис 1. «На
пасеке»
Список
литературы:
- Ю.П.
Немчанинова «Обработка и редактирование
векторной графики
в Inkscape
- http://wiki.inkscape.org/wiki/index.php/Inkscape
- http://biblprog.org.ua/ru/inkscape/
- http://www.inkscapebook.ru/
- http://www.linuxgraphics.ru/articles.php?article_id=103
- http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Inkscape.logo.svg
- http://www.rudata.ru/wiki/Inkscape