Inkscape (Инкскейп) — свободно распространяемыйвекторный графический редактор, удобен для создания как художественных, так и технических иллюстраций (вплоть до использования в качестве САПР общего назначения, чему также способствует лёгкость обмена чертежами). Это стало возможным во многом благодаря открытому формату SVG, развиваемому консорциумом W3C. Формат SVG позволяет создавать иллюстрации различного типа, в том числе анимированные. Поскольку SVG основан на расширяемом языке разметки (XML), к нему можно писать расширения, чем авторы Inkscape и пользуются[8]. Программа распространяется на условиях GNU General Public License.
История
История Inkscape началась с того, что нескольких программистов и дизайнеров, умеющих писать код, перестали устраивать условия разработки редактора векторной графики Sodipodi. Поняв, что они не смогут в должной степени применить свои навыки, они организовали новый проект[9], который назвали Inkscape. На тот момент[когда?] в Linux было всего два редактора векторной графики, которые можно было использовать в реальной работе — Sodipodi и Sketch, позднее переименованный в Skencil. С тех пор разработка Sodipodi и Skencil сошла на нет. Inkscape стал преемником Sodipodi, а на основе Skencil стал развиваться проект sK1. В версии Inkscape 0.91 добавлено много новых возможностей и исправлено более 700 ошибок, допущенных в версии 0.48, что делает Inkscape более готовым к использованию[10]. Inkscape де-факто стал самым популярным свободным редактором в своей области. 17 января 2019 года, спустя почти 20 лет с момента выпуска первой версии программы, Inkscape вышел в стадию альфа-тестирования версии с номером 1.0.
Возможности
Собственный формат документов
основан на SVG v1.1, содержит ряд расширений для увеличения функциональности;
документы Inkscape SVG можно сохранить как Plain SVG с возможностью изменять неподдерживаемые в обычном SVG элементы, такие, как контуры;
документы можно сохранять и открывать в сжатом виде, с использованием алгоритма компрессии gzip;
использование групп SVG как слоёв, перемещение документов между слоями.
Inkscape может редактировать и сохранять только одну страницу из всего PDF-документа.
Удобство использования
привычные инструменты: Выделение, Масштабирование, Правка узлов, Прямоугольник, Эллипс, Звезда, Спираль, Линия от руки, Перо (кривые Безье), Текст, Градиент, Пипетка;
инструмент Заливка для трассирующей заливки, создающий новый контур заданного цвета из любой замкнутой векторной или растровой области;
инструмент Корректор для изменения формы и цвета контуров мягкой кистью;
инструмент Параллелепипед для рисования параллелепипеда в перспективе, с простым редактированием линий перспективы и точек схода;
инструмент Каллиграфическое перо, позволяющий выполнять серьёзные каллиграфические работы при помощи планшета (распознаётся сила нажатия и наклон пера), а также содержащий встроенную функцию штриховой гравировки;
инструмент Ластик, предназначенный для стирания объектов или внутри них;
инструмент Аэрограф, предназначенный для распыления копий или клонов выделенного объекта, учитывает сила нажатия пером планшета;
рисование кривых Спиро (клотоиды), то есть всегда ровных, без «горбов» кривых;
контекстная панель параметров инструментов;
большое количество продуманных клавиатурных комбинаций для вызова функций;
информативная статусная строка, сообщающая полезную информацию о выделенных объектах и подсказывающая клавиатурные комбинации;
встроенный векторизатор растровых изображений, использующий SIOX для выделения объектов на переднем плане;
расширенные возможности работы с клонами объектов, создание узора из клонов при помощи любой из 17 групп симметрии;
поддержка наклона и силы нажатия стилуса при использовании графических планшетов (инструмент Каллиграфическое перо);
коллективное рисование через протокол XMPP (временно отключено);
экономия времени за счёт использования клонов и вставки стиля (присваивание свойств заливки и штриха одного объекта другому);
редактор XML-кода документа с деревом объектов — для доступа к временно неподдерживаемым в графическом интерфейсе параметрам документа;
возможность аналитического задания кривых с использованием возможностей языка python;
дополнения, позволяющее создавать формулы в стиле LaTeX, а также строить графики с использованием PSTricks.
Операции с контурами
логические операции: сумма, разность, пересечение, исключающее ИЛИ, разделить, разрезать контур;
динамическая и связанная втяжка;
упрощение контура;
оконтуривание штриха;
создание составных контуров;
вставка нового узла в любую точку контура;
быстрая смена типа узла с острого на сглаженный или симметричный;
иллюстрации для офисных циркуляров, презентаций; создание логотипов, визиток, плакатов;
технические иллюстрации (схемы, графики и пр.);
векторная графика для высококачественной печати (с предварительным импортом SVG в Scribus);
веб-графика — от баннеров до макетов сайтов, пиктограммы для приложений и кнопок сайтов, графика для игр.
Планы
Основная цель — полная поддержка SVG Mobile Specification и частичная поддержка — SVG Full Specification. Это включает в себя поддержку анимации[11] и SVG-фильтров[12].
Запланирована максимальная модуляризация кода и выделение общего кода в повторно используемые библиотеки. Первый шаг к этому — версия 0.47, выпущенная в ноябре 2009 года.
Inkscape и Google Summer of Code
Проект Inkscape участвует в программе Google Summer of Code с 2005 года, то есть с самого начала. Благодаря участию в программе проект обзавёлся новыми постоянными разработчиками.
Развитие Inkscape
2005
Создание встроенного средства коллективной работы средства Inkboard. Проект успешно завершён.
Создание инструмента соединительных линий для технических иллюстраций (блок-схем и т. д.). Проект успешно завершён. Продолжается работа над инструментом, параллельно проверяются новые идеи в прототипе под названием Dunnart[13].
Импорт/экспорт DXF — Matt Squires. Проект не был завершён; код лежит в дереве разработки, но не используется. Начиная с версии 0.47 импорт DXF реализован иным способом.
2006
Поддержка фильтров SVG[12]. Проект успешно завершён.
Изменения в протоколе и библиотеке 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
Пространственно-временное индексирование объектов документа для повышения производительности.
Добавлены новые параметры командной строки, управляющих размером страницы
Новый настройки радиуса эллипса
Добавлена поддержка многострочного текста с базовой поддержкой атрибута межстрочного интервала
Расширены настройки рендеринга
Улучшена обработка шрифтов и ускорена загрузка программы в Windows
2019
Завершена поддержка Windows XP
Реализована функция выравнивания для нескольких не сгруппированных объектов
Сотрудничество с другими проектами
Разработчики Inkscape достаточно тесно общаются с командами GIMP и Scribus и неоднократно встречались с ними на ежегодных конференциях Libre Graphics Meeting.
Пользователи и разработчики Inkscape являются авторами существенной части свободной библиотеки векторных изображений Open Clip Art Library[14]. Кроме того, программа активно используется участниками проекта Open Street Map.
Побочные проекты
У проекта есть три побочных проекта:
2Geom[15] — библиотека, реализующая алгоритмы вычислительной геометрии. Разрабатывается Натаном Хёрстом, Менталом, Майклом Виброу, Майклом Слоаном и другими. Начиная с версии 0.46 библиотека используется в составе Inkscape. Нестабильная версия Scribus (1.3.5) также использует 2Geom для эффекта деформации по сетке.
Adaptagrams[16] — общее название комплекта библиотек libvpsc, libcola и libavoid, предназначенных для создания редакторов блок-схем.
Inkboard[17] — проект, уже вошедший в состав Inkscape и отдельно не развиваемый. Представляет собой встроенное клиентское приложение для совместного рисования. Использует протокол XMPP. Текущая версия Inkboard достаточно нестабильна и не умеет передавать собеседнику все локально выполняющиеся изменения. Запланирован переход на использование Telepathy[18].
Альтернативы
У Inkscape имеются альтернативы как среди свободных, так и проприетарных программных средств[19]:
Gravit — кросс-платформенный векторный редактор, выпущенный под свободной лицензией. В 2018 вошёл в портфель продуктов компании Corel.
Xara Xtreme for Linux — свободная версия известного векторного редактора, исходный код которого почти весь был публично открыт в марте 2006 года. В настоящее время разработка этого продукта прекращена;
sK1 — векторный редактор, реализованный на Python и C; см. также Skencil;
некорректный экспорт в другие форматы проприетарных графических программ (Adobe, CorelDraw)
невозможность использования привычных горячих клавиш (например, Ctrl+C), если текущая раскладка не английская — унаследованный недостаток от библиотеки GTK+
не работает поддержка шрифтов, которые реализованы без поддержки юникода