Выпущен Inkscape 0.44

Вышла долгожданная новая версия редактора векторной графики Inkscape. Вместо простого перечисления новшеств вашему вниманию предлагается расширенный обзор.

В очередной версии Inkscape изменений как всегда вагон и маленькая тележка. Полный список изменений тут. Давайте посмотрим на самые значимые из них.

Коротко о самом важном

  • палитра слоёв
  • каркасный режим, улучшение производительности
  • собственный экспорт в PDF 1.4 с сохранением полупрозрачности
  • обтравочные контуры и маски
  • настраиваемые горячие клавиши, схема горячих клавиш от Xara X
  • паркующаяся палитра цветов в окне программы
  • интерактивный индикатор стиля выделения в статусной строке
  • инновационная «лепка узлов» и другие усовершенствования в инструменте правки узлов
  • расширения по умолчанию работают на всех основных платформах
  • улучшенная поддержка SVG: элемент <switch>, поддержка ICC-профилей для растровых изображений
  • сохраняемые центры вращения, команда Вставить размер
  • новые пиктограммы, переделаны диалоги настройки, масса косметических улучшений
  • сотни исправленных ошибок
  • просто приятная новость: с момента выхода предыдущей версии вышел Firefox 1.5, показывающий SVG без дополнительно устанавливаемых расширений

А теперь подробнее.

Производительность

Появился «каркасный» (wireframe) режим отображения рисунка. Во-первых, это прибавляет скорости при отрисовке (не критично, в пределах 20-50%), а во-вторых, позволяет проще работать с большим количеством перекрывающих друг друга объектов.

Вкратце:

  • все контуры и фигуры отрисовываются чёрно-белыми с фиксированной толщиной штриха в один пиксел и без заливки;
  • текст отображается без контура с инверсированной заливкой;
  • растровые изображения показываются как есть;
  • полупрозрачность и градиенты игнорируются.

Пример:

Кроме того, оптимизирован сам движок отрисовки livarot, что даёт прирост производительности от 10 до 300% (последнее касается, к примеру, сложных контуров в большом масштабе). Оптимизирован и код инструмента для правки узлов, благодаря чему, в частности, выбор узлов в сложных контурах делается примерно в десять раз быстрее, а работа с контурами, в которых тысячи узлов, становится приятнее, хотя ещё и не совсем простой.

Теперь программа отрисовывает только видимую часть контура. Это значит, что даже при максимальном масштабе скорость отрисовки будет оставаться той же, что и на 100%. В числовом измерении это означет ускорение в 10-40 раз.

Команда Контуры->Разбить работает в десятки (до 100) раз быстрее при работе со сложными контурами, в которых тысячи подконтуров.

Индикатор стиля объектов

Функция, которую ждали очень давно: индикатор стиля заливки и штриха объектов. Находится в статусной строке окна программы слева:

Индикатор стиля выделенных объектов

Каждый индикатор показывает либо цвет плоской заливки и непрозрачность, либо содержит одну из следующих текстовых меток:

  • Н/Д (ничего не выделено)
  • Нет (нет заливки или штриха)
  • Убрано (заливка или штрих убраны)
  • Лин. градиент (заливка линейным градиентом)
  • Рад. градиент (заливка радиальным градиентом)
  • Текстура (заливка текстурой)
  • Разные (у выделенных объектов разные параметры заливки или штриха)

Индикатор может дополняться двумя флагами:

  • m (”multiple”, то есть несколько объектов имеют одинаковую заливку или штрих)
  • a (”averaged”, то есть индикатор показывает усреднённый плоский цвет заливки или штриха для выделенных объектов)

У каждого индикатора есть своё контекстное меню, при помощи которого можно разными способами поменять цвет или убрать его вовсе. Щелчок средней кнопкой мыши по индикатору полностью удаляет заливку или штрих объекта. У индикатора непрозрачности (Н:) также есть своё контекстное меню с предустановками: 0 (прозрачно), 0.25, 0.5, 0.75, 1.0 (непрозрачно).

Назначить (новый) плоский цвет для заливки или штриха можно перетаскиванием цвета мышкой с палитры цветов или из программы GNOME Colorscheme.

В контекстной панели рисующих фигуры инструментов теперь тоже есть свои индикаторы стиля:

Индикатор стиля инструментов

Благодаря им перед началом рисования новой фигуры всегда видно, с какими параметрами заливки, штриха и непрозрачности она будет создана. Цвет заливки или штриха для нового объекта можно выбрать щелчком мышкой по нужному цвету из палитры внизу (для штриха — с Shift), но при этом не должен быть выбран ни один объект.

Диалоги

Приведён в чувство диалог настройки программы. Прежнего диалога с трёхуровневыми вкладками больше нет:

Новый диалог настройки программы

Кроме того, диалог свойств документа разделён на два диалога. В первом («Файл→Свойства документа…») настраиваются: единица измерения, фон, параметры сетки, направляющих и прилипание. Во втором («Файл→Метаданные документа…») указываются лицензия, имя автора и прочая сопутствующая информация.

Новая тема пиктограмм

Андре Соуса (Andre Sousa) нарисовал новую тему пиктограмм для приложения, сделав акцент на «читаемость» и понятность:

Новая тема crispy на примере диалога выравнивания и распределения объектов

Инструменты

Правка узлов

Лепка узлов

В новой версии появился совершенно новый способ манипуляции узлами: лепка узлов. Обычно, когда выбраны несколько узлов и вы тащите за них, они все перемещаются на одинаковое расстояние. Теперь, если при перетаскивании нажать Alt, полностью будет смещаться только тот узел, за который потащили, остальные же сместятся на меньшее расстояние, а самые крайние практически не сдвинутся с места. Эта функция похожа на функции «пропорциональная правка» (”proportional editing”) и «мягкое выделение» (”soft selection”), используемые в 3D-моделлерах, таких как Blender.

Лепка узлов чувствительная к силне нажатия при использовании пера планшета. Если нажать несильно, у получившейся кривой будет «острый» кончик (т.е. соседние узлы сместятся совсем чуть-чуть); если нажать сильно, кончик кривой будет широким и тупым (т.е. соседние узлы сместятся почти так же, как и перемещзаемый узел).

Применительно к оконтуренному тексту лепка узлов — прекрасный способ создать эффект, схожий с пространственным искажением. (”perspective envelope”), но ещё более гибкий. Например, выбрав все узлы или часть узлов текста, а затем перетащить из нажатой клавишей Alt, можно получить текст в виде вьющегося флага, а при желании — эффект увеличительного стекла.

Примеры на скриншоте:

Новое поведение при удалении

При удалении узла клавишами Del/Backspace или комбинацией Ctrl+Alt+щелчок Inkscape теперь пытается сохранить форму контура. Это значит, что рычаги ближних узлов смещаются, пытаясь вернуть контуру прежнюю форму. Прежний способ удаления без коррекции рычагов работает через комбинации Ctrl+Del/Ctrl+Backspace.

Сохранение позиции узлов и рычагов

При смене типа выбранных узлов на сглаженные или симметричные нажатием Shift+Shift/Shift+Y выможете сохранить положение одного или двух рычагов, держа мышь над одним, так чтобы второй менял положение до совпадения.

Разное

  • Клавиша ! обращает выделение узлов в текущем подконтуре (а точнее, подконтуре с более чем одним выбранным узлом); Alt+! обращает весь контур (схожим образом клавиши работают в инструменте выделения, только там вместо подконтура слои)
  • Комбинация клавиш для «Сделать выбранные сегменты кривыми» поменялась с Shift+K на Shift+U.

Каллиграфическое перо

  • Добавлен параметр Дрожание для придания рисуемым контурам более реалистичного вида.
  • Добавлена возможность рисовать линии с независящей от масштаба просмотра толщиной, переключается на соответствующей вкладке диалога настроек программы (можно открыть двойным щелчком по пиктограмме инструмента).
  • Значение ширины теперь задаётся в диапазоне от 1 до 100 (ранее — от 0.01 до 1.0).
  • Новый параметр Сохранять выделение в настройках инструмента определяет, остаётся ли выбранным созданный новый объект по завершении его рисования.
  • По Esc теперь тоже снимается выделение с выбранного объекта как и в других инструментах.
  • Штрих рисуется настоящим выбранным цветом, а не чёрным как ранее.

Кривые Безье

  • При рисовании контура можно использовать те же клавиши, что и в инструменте правки узлов: клавиши стрелок, Shift (для десятикратного смещения) и Alt (для смещения с шагом в экранный пиксел).
  • Можно поменять недорисованный (красный) сегмент с кривой на линию (Shift+L) и обратно (Shift+U).
  • В недорисованном контуре Ctrl+Z как и Esc теперь отменяет весь контур, а не последнее действие.
  • Del работает так же как и Backspace: удаляет последний созданный узел незавершённого контура.

Текст

Появилась контекстная панель для инструмента ввода текста.

Панель свойств инструмента «Текст»

Прежний диалог пока ещё стоит использовать, потому что через него можно проверять орфографию.

Обтравочные контуры и маски

Появился интерфейс к обтравочным контурам и маскам.

Обтравочные контуры

Любой объект может быть недеструктивно пересечён (обтравлен) контуром так, что видимой остаётся только его пересечённая часть.

Для обтравки выберите объект(ы) и контур, выполняющий роль обтравочного. Убедитесь, что этот контур является верхним в стопке объектов, и выберите пункт меню «Объект→Обтравочный контур→Установить».

Обтравленный объект можно трансформировать и изменять, можно применять к нему стили как к обычному объекту. Обтравочный контур остаётся применённым и меняется вместе с каждым обтравленным объектом.

Для удаления обтравки выберите пункт меню «Объект→Обтравочный контур→Снять». Обтравленный объект превратится в обычный, а обтравочный контур окажется простым контуром вверху стопки объектов.

Маски

Любой объект может быть недеструктивно замаскирован другим объектом (маской) так, что чёрная или прозрачная области маски становятся полностью прозрачными в замаскированном объъекте, а белые области маски становятся полностью непрозрачными. Все остальные цвета преобразуются в разные уровни прозрачности замаскированного объекта. Таким образом можно, к примеру, применить к объектам произвольные градиенты.

Для применения маски выберите маскируемые объект(ы) и объект, выполняющий роль маски. Убедитесь, что этот объект является верхним в стопке объектов, и выберите пункт меню «Объект→Маска→Установить».

Замаскированный объект можно трансформировать и изменять, можно применять к нему стили как к обычному объекту. Маска остаётся применённой и меняется вместе с каждым замаскированным объектом.

Для удаления маски выберите пункт меню «Объект→Маска→Снять». Маска превратится в обычный объект и окажется сверху стопки замаскированных ранее объектов.

Палитра трансформации

Добавлен флажок «Применить к каждому объекту отдельно», позволяющий трансформировать каждый объект отдельно относительно его собственного центра. Положение этого переключателя запоминается между сессиями, но не для вкладок «Смещение» и «Матрица».

Появилась кнопка «Очистить» для возврата всех значений в текущей вкладке в исходное состояние.

На вкладке «Масштаб» можно в качестве единиц измерения использовать проценты и абсолютные единицы измерения. При масштабировании нескольких объектов одновременно можно использовать только проценты. Кроме того, появился флажок «Пропорциональное масштабирование» для сохранения соотношения сторон при масштабировании.

На вкладке «Скос» можно указать скос как абсолютное, процентное или угловое смещение. В первом случае, к примеру, горизонтальный скос означает, что смещение верха прямоугольника относительно его низа. Во втором случае горизонтальный скос прямоугольника считается как смещение верха на процент от высоты прямоугольника. В третьем случае при горизонтальном скосе, скажем, на 15 градусов производится вращение прямоугольника на этот угол, в то время как верх и низ остаются на месте.

На вкладке «Матрица» (ранее называвшейся «Трансформация») можно изменять текущую матрицу transform= объекта, либо умножить текущую transform= новой, в зависимости от статуса опции «Изменить текущую матрицу». Чтобы не дублировать функциональность, матрица трансформации убрана из диалога свойств объекта.

Палитра трансформации теперь правильно отслеживает изменения в выделении и корректно обновляет значения.

Оптимизирован интерфейс, добавлены всплывающие подсказки и мнемоника для элементов интерфейса.

Исправлено много ошибок, в частности, ошибка преобразования между единицами измерения.

Вставка размера

В меню «Правка» добавлена серия команд для быстрого изменения размера объектов. Теперь можно скопировать в буфер обмена один объект, а затем «вставить» его размер, ширину или высоту другому выделенному объекту или группе объектов. По выбору можно отмасштабировать всё выделение как один объект, либо каждый объект выделения раздельно.

Управление цветом

В Inkscape реализована базовая поддержка управления цветом. Это значит, что если программу собрать с поддержкой LittleCMS (ключ –enable-lcms), она пройдёт тест W3C «ICC color profile». Наряду с элементом <color-profile> поддерживается атрибут <color-profile> в <image>.

SIOX в векторизации

В новой версии программы реализована векторизовать растр можно с использованием алгоритма SIOX (Simple Interactive Object Extraction), известного по GIMP 2.3.х и позволяющего в данном случае оставить от всего векторизуемого изображения только интересуемую часть, не создавая изощрённый контур. Работает очень просто: импортируйте растровое изображение, обведите замкнутым контуром интересуемый объект, выделите изображение и контур, вызовите диалог векторизации, включите параметр “SIOX” и далее действуйте как всегда.

Расширения

Меню «Эффекты» теперь постоянно включено и больше не считается экспериментальной функцией. В Inkscape 0.44 входит примерно эффектов, выполняющих разные задачи, такие как blending контуров, получение случайных контуров, построение графиков функций и т.д. Новый эффект на Python, «Отрисовка→Формула LaTeX», позволяет ввести любую формул на LaTeX и получить векторный объект графического представления этой формулы. Для этого в системе должны быть установлены LaTeX, dvips и pstoedit.

Ещё один эффект, «Сглаживание контура», меняет каждый контур на полилинию с сегментами указанной пользователем степени гладкости.

Другой эффект на Python, «Измерить контур», добавляет каждому контуру текстовую метку, содержащую длину этого контура в пикселах.

В этой версии Inkscape улучшен эффект «Отрисовка→L-система» (ранее «Фрактал Линденмайера»). Теперь можно указать разные значения углов для поворота влево и вправо, что позволяет плавно изгибать некоторые L-системы. Кроме того, можно отдельно получать случайные (до указанного процента) значения длины шага и углов, чтобы добиться более естественного вида систем. Этот эффект можно использовать для получения мозаик Пенроуза, треугольника Серпинского, дракона Хартера-Хейтуэя и прочих математическимх артефактов, а также различных зигзагов, узоров и деревьев. Примеры:

Файлы описания расширений INX теперь могут содержать больше информации, в частности, подсказки и описания расширений. Расширения стали переводимыми на другие языки. Расширения вышедшей версии переведены на все поддерживаемые языки, включая русский.

Благодаря появившейся возможности настроить клавиатурные комбинации наиболее часто используемым расширениям можно назначить горячие клавиши.

В меню «Эффекты» расширения сгруппированы в следующие субменю: «Визуализация контура», «Гитарный гриф», «Изменение контура», «Использование контура», «Отрисовка» и «Растры».

Форматы файлов

  • Файл в формате SVG и все связанные с ним [растровые] изображения теперь можно сохранить в архив формата ZIP для передачи по почте, выкладывания на сервер и т.п.;
  • Экспорт файлов PDF на основе кода для экспорта в Postscript, есть ограничения: текст не экспортируется как таковой, поэтому необходимо включать параметр «Оконтурить текст» в диалоге с опциями экспорта. Кроме того, не поддерживаются градиенты в штрихах, эксцентрические эллиптические градиенты, текстуры, маски и обтравочные контуры. Вместе с тем, поддерживается полупрозрачность и нет зависимости от Ghostscript;
  • Добавлена поддержка экспорта в упрощённую версию формата DXF для печати на плоттерах вроде Wishblade и Craftrobo, в качестве формата для обмена данными не подходит;
  • В Inkscape можно открыть документы Xfig при наличии в системном каталоге программы fig2dev (transfig);
  • Появился экспорт в формат OpenDocument Drawing. В настоящее время экспортируются только текст, фигуры, плоская заливка и плоский штрих. Возможности экспорта в ближайшее время будут улучшены, но уже сейчас можно использовать многие иллюстрации SVG в OpenOffice.org;
  • Экспорт всех слоёв и объектов фонового слоя в PNG и сборка их в XCF для дальнейшей обработки в GIMP; не работает в Windows, в Linux необходимы Python, PyXML и GIMP (версии 2.2.x или новее с исполняемым файлом gimp в искомом системном каталоге).

Настраиваемые горячие клавиши

Горячие клавиши в Inkscape теперь можно настроить по своему усмотрению. В этой версии программы не всем действиям можно назначить горячие клавиши.

При запуске Inkscape читает файл share/keys/default.xml. По умолчанию этот файл является копией файла inkscape.xml, находящегося в том же каталоге. Там же находятся файлы со схемами горячих клавиш для других программ, в частности:

  • xara.xml: горячие клавиши из Xara X/Xara Xtreme/Xara LX

Любой из них можно сохранить как default.xml и использовать вместо исходного. При желании можно создать собственный файл со схемой горячих клавиш и поместить его в личный каталог настроек программы (в Linux это ~/.inkscape/keys) под именем default.xml. Синтаксис тот же самый.

Документация

Обновлены уроки по работе с Inkscape. Все они (до)переведены на русский язык Юрием Безносом.

Что дальше

Из версии 0.44 в 0.45 перенесены следующие функциональные возможности, работа над которыми уже начата:

  • поддержка CMYK (использование настоящих значений CMYK);
  • цветопроба (ICC preview);
  • загрузка именованных пиктограмм и курсоров ArtLibre;
  • правка цветовых палитр, хранение палитр внутри документов;
  • поддержка DOM;
  • диалог отмены/повтора действий;

В 0.45 продолжится работа над реализацией SIOX в векторизации растровых объектов. Кроме того, предполагается включить код, написанный в рамках Google Summer of Code 2006:

  • поддержка SVG-фильтров;
  • изменения в протоколе и библиотеке Inkboard;
  • экспорт в PDF через Cairo;
  • оптимизация использования памяти.

Скачать новую версию

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*