Давно увлекаюсь векторной графикой, особенно ее созданием, отрисовкой с нуля. Много программ я пробовал, но в основном моим рабочим инструментом был CorelDraw, который меня всем устраивал. Не помню, почему и зачем я начал искать ему альтернативы, но в один прекрасный день я наткнулся на Inkscape. Это была любовь с первого взгляда…
Я все ждал, что на Хабре появится статья-обзор новых возможностей версии Inkscape 0.91, а ее все нет. Решил написать сам, если что не так – не судите строго, пишу редко.
Под катом будет много иллюстративных примеров и технических деталей.
Наверное основная причина, по которой после версии 0.48.5 последовала версия 0.91 в том, что Inkscape 0.91 включает в себя новое рендер-ядро на основе библиотеки Cairo. Большая часть работы по замене рендер-ядра была выполнена в рамках Google Summer of Code 2010 и 2011.
Что дает новый рендер:
Новая функция “Векторизация пиксельной графики” позволяет получать векторный объект из растрового изображения. Новая библиотека символов с поддержкой объектов 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 очень вырос, и такая смена номера – отнюдь не маркетинговый ход, а результат работы, которая видна пользователю даже невооруженным глазом.
Редактор вполне пригоден к профессиональному использованию, причем за счет поддержки импорта-экспорта всех популярных форматов быстро “становится в строй”
Попробуйте этот редактор, он того стоит!
Полный текст по релизу 0.91: wiki.inkscape.org/wiki/index.php/Release_notes/0.91
Скоро будет релиз 0.92, что он принесет можно увидеть тут: wiki.inkscape.org/wiki/index.php/Release_notes/0.92
Руководство для начинающих:
Основы: inkscape.org/en/doc/tutorials/basic/tutorial-basic.ru.html
Углубление: inkscape.org/en/doc/tutorials/advanced/tutorial-advanced.ru.html
Фигуры: inkscape.org/en/doc/tutorials/shapes/tutorial-shapes.ru.html
Векторизация: inkscape.org/en/doc/tutorials/tracing/tutorial-tracing.ru.html
Калиграфия: inkscape.org/en/doc/tutorials/calligraphy/tutorial-calligraphy.ru.html
Я все ждал, что на Хабре появится статья-обзор новых возможностей версии 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 очень вырос, и такая смена номера – отнюдь не маркетинговый ход, а результат работы, которая видна пользователю даже невооруженным глазом.
Редактор вполне пригоден к профессиональному использованию, причем за счет поддержки импорта-экспорта всех популярных форматов быстро “становится в строй”
Попробуйте этот редактор, он того стоит!
Полезные ссылки:
Полный текст по релизу 0.91: wiki.inkscape.org/wiki/index.php/Release_notes/0.91
Скоро будет релиз 0.92, что он принесет можно увидеть тут: wiki.inkscape.org/wiki/index.php/Release_notes/0.92
Руководство для начинающих:
Основы: inkscape.org/en/doc/tutorials/basic/tutorial-basic.ru.html
Углубление: inkscape.org/en/doc/tutorials/advanced/tutorial-advanced.ru.html
Фигуры: inkscape.org/en/doc/tutorials/shapes/tutorial-shapes.ru.html
Векторизация: inkscape.org/en/doc/tutorials/tracing/tutorial-tracing.ru.html
Калиграфия: inkscape.org/en/doc/tutorials/calligraphy/tutorial-calligraphy.ru.html