Векторный, открытый и удобный: Inkscape 0.91
Давно увлекаюсь векторной графикой, особенно ее созданием, отрисовкой с нуля. Много программ я пробовал, но в основном моим рабочим инструментом был CorelDraw, который меня всем устраивал. Не помню, почему и зачем я начал искать ему альтернативы, но в один прекрасный день я наткнулся на Inkscape. Это была любовь с первого взгляда…
Я все ждал, что на Хабре появится статья-обзор новых возможностей версии Inkscape 0.91, а ее все нет. Решил написать сам, если что не так – не судите строго, пишу редко.
Под катом будет много иллюстративных примеров и технических деталей.
Главное нововведение – смена рендер-ядраНаверное основная причина, по которой после версии 0.48.5 последовала версия 0.91 в том, что Inkscape 0.91 включает в себя новое рендер-ядро на основе библиотеки Cairo. Большая часть работы по замене рендер-ядра была выполнена в рамках Google Summer of Code 2010 и 2011.
- Повышение производительности. Новый рендер выполняет отрисовку быстрее на большинстве рисунков. Рендеринг очень сложных объектов автоматически кэшируется, повышая скорость редактирования.
- Поддержка технологии OpenMP обеспечивает многопоточность работы фильтров. Так же фильтры использоуют все доступные ядра процессора для вычислений. Это приводит к существенному ускорению редактирования рисунков с множеством фильтров на многоядерных процессорах.
- Существенная экономия памяти. Теперь Inkscape использует меньше памяти при открытии сложных рисунков, иногда используя только 25% от объема памяти для открытия аналогичного рисунка в Inkscape 0.48.
- Улучшение отзывчивости редактора. Рендер SVG графики теперь кэшируется. Что в результате дает повсеместное улучшение отклика подсветки при выделении кривых, процесса выбора/снятия выбора объектов и быструю перерисовку при редактировании кривых.
- Устранено большинство ошибок отрисовки. Множество багов из системы отслеживания ошибок закрыты в Inkscape 0.91. Теперь отображаются правильно:
- Текстурная заливка (нет щелей между плитками, независимо от преобразования)
- Результат трансформации объекта с его заливкой
- Текстуры, содержащиеся в обрезанных объектах
- Вложенные обтравочные контуры
- Маска и обрезка объектов на которые наложены большие маски
- Пути с широким сглаживанием и длинными скосами
- Шрифты
Новая функция “Векторизация пиксельной графики” позволяет получать векторный объект из растрового изображения. Новая библиотека символов с поддержкой объектов Visio. Улучшены привязка и распределение объектов. Добавлена поддержка экспорта в FXG, SIF и в HTML5; импорт в CDR и VSD. Формат EMF/WMF в режиме чтения/записи поддерживается на всех платформах. Улучшена работа с форматами XCF, PDF, EPS, PS+, и LaTeX.
А вот теперь – слайды! УзлыВ панели редактирования узлов добавлены опции в выпадающем списке, благодаря которым узлы можно добавлять в экстремумы кривой. Ниже пример вставки узла в верхнюю точку кривой по оси у:
ИзмерительИзмеритель – новая функция для измерения элементов в рисунке. Просто выберите инструмент, щелкните в любом месте на рисунке и перетащите мышку. Инструмент измерения интерактивно обновляет значения длины и градусы углов, когда вы двигаете им над объектами рисунка.
Выравнивание и распределениеОбновленный Inkscape содержит новый набор кнопок для выравнивания и распределения. В меню “Выравнять и расставить” добавлен раздел “Переставить”. Теперь намного проще менять местами несколько выбранных объектов. В примере выбраны три объекта, и они занимают позиции друг друга.
Для операций выравнивания появились “горячие клавиши”(Ctrl + Alt + цифра ДЦК).
Поиск и выборТеперь легче выбрать предметы, которые находятся на заднем плане: используйте Alt + прокрутка колесиком мыши, чтобы перебрать все элементы, которые сложены друг на друга под текущим положением курсора (пользуйтесь Shift + Alt + прокрутка колесиком мыши, чтобы добавить объекты к существующему выбору). Новый диалог “Найти/заменить” работает с любыми атрибутами объектов или текста. Новая функция “Выбрать одинаковое”, которая позволяет рисующему выбрать объекты, которые имеют те же свойства, как уже выбранный объект. Например, вы можете выбрать объект с синей заливкой. Затем выберите в меню “Выбрать одинаковые” — “Цвет заливки”, и в текущем рисунке будут выбраны все объекты с синей заливкой.
Немного о функции векторизацииОдной из новых функций заявлена улучшенная векторизация растра. Небольшой тест показал, что при вставке растра в контекстом меню вызванном на нем появляется два пункта для растеризации: “Векторизировать растр” и “Векторизация пиксельной графики”. Второй пункт даже на простом рисунке переводит Inkscape в глубокую и недоступную задумчивость и не дал результата за полчаса работы. В первом пункте есть целый ряд опций, позволяющий получить разные результаты, которые можно увидеть в окошке превью:
Кстати, оригинал, который я векторизировал:
Результат векторизации по параметру “Цвет”, после разгруппировки и ручного разбора “чтобы все было видно”:
Примерное время векторизации: 2-3 секунды на Pentium T2390.
Выводы:Inkscape к версии 0.91 очень вырос, и такая смена номера – отнюдь не маркетинговый ход, а результат работы, которая видна пользователю даже невооруженным глазом. Редактор вполне пригоден к профессиональному использованию, причем за счет поддержки импорта-экспорта всех популярных форматов быстро “становится в строй” Попробуйте этот редактор, он того стоит!