Inkscape

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Inkscape
Логотип программы Inkscape
Скриншот программы Inkscape
Тип векторный графический редактор
Разработчик Команда разработчиков Inkscape
Написана на C++[5] и Си
Интерфейс GTK
Операционная система Кроссплатформенное программное обеспечение
Языки интерфейса албанский, амхарский язык, арабский, армянский, ассамский язык, азербайджанский, баскский язык, белорусский, бенгальский язык, Бодо, бретонский язык, болгарский, каталанский, китайский, хорватский, чешский, датский, догри, нидерландский, дзонг-кэ, английский, эсперанто, эстонский, персидский, финский, французский, галисийский язык, немецкий, греческий, гуджарати, иврит, хинди, венгерский, исландский, индонезийский язык, ирландский язык, итальянский, японский, каннада, кашмирский язык, кхмерский язык, руанда, конкани, корейский, латышский язык, литовский язык, македонский язык, майтхили, малаялам, манипури, маратхи, монгольский язык, непальский язык, букмол, нюнорск, ория, панджаби, польский, португальский, румынский, русский, санскрит, Сантали, сербский, синдхи, словацкий язык, словенский, испанский, шведский, тамильский язык, телугу, тайский, турецкий, украинский, урду, валенсийский язык и вьетнамский
Первый выпуск 11 ноября 2003[1][2]
Последняя версия
Репозиторий gitlab.com/inkscape/inks…
Состояние активный
Лицензия GPL 3.0+[6][7][…]
Сайт inkscape.org/ru/
Логотип Викисклада Медиафайлы на Викискладе

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-документа.

Удобство использования

[править | править код]
  • привычные инструменты: Выделение, Масштабирование, Правка узлов, Прямоугольник, Эллипс, Звезда, Спираль, Линия от руки, Перо (кривые Безье), Текст, Градиент, Пипетка;
  • инструмент Заливка для трассирующей заливки, создающий новый контур заданного цвета из любой замкнутой векторной или растровой области;
  • инструмент Корректор для изменения формы и цвета контуров мягкой кистью;
  • инструмент Параллелепипед для рисования параллелепипеда в перспективе, с простым редактированием линий перспективы и точек схода;
  • инструмент Каллиграфическое перо, позволяющий выполнять серьёзные каллиграфические работы при помощи планшета (распознаётся сила нажатия и наклон пера), а также содержащий встроенную функцию штриховой гравировки;
  • инструмент Ластик, предназначенный для стирания объектов или внутри них;
  • инструмент Аэрограф, предназначенный для распыления копий или клонов выделенного объекта, учитывает сила нажатия пером планшета;
  • рисование кривых Спиро (клотоиды), то есть всегда ровных, без «горбов» кривых;
  • контекстная панель параметров инструментов;
  • большое количество продуманных клавиатурных комбинаций для вызова функций;
  • информативная статусная строка, сообщающая полезную информацию о выделенных объектах и подсказывающая клавиатурные комбинации;
Пример векторизации растрового изображения со словом Test в низком разрешении
  • встроенный векторизатор растровых изображений, использующий SIOX для выделения объектов на переднем плане;
  • расширенные возможности работы с клонами объектов, создание узора из клонов при помощи любой из 17 групп симметрии;
  • поддержка наклона и силы нажатия стилуса при использовании графических планшетов (инструмент Каллиграфическое перо);
  • коллективное рисование через протокол XMPP (временно отключено);
  • экономия времени за счёт использования клонов и вставки стиля (присваивание свойств заливки и штриха одного объекта другому);
  • редактор XML-кода документа с деревом объектов — для доступа к временно неподдерживаемым в графическом интерфейсе параметрам документа;
  • возможность аналитического задания кривых с использованием возможностей языка python;
  • дополнения, позволяющее создавать формулы в стиле LaTeX, а также строить графики с использованием PSTricks.

Операции с контурами

[править | править код]
  • логические операции: сумма, разность, пересечение, исключающее ИЛИ, разделить, разрезать контур;
  • динамическая и связанная втяжка;
  • упрощение контура;
  • оконтуривание штриха;
  • создание составных контуров;
  • вставка нового узла в любую точку контура;
  • быстрая смена типа узла с острого на сглаженный или симметричный;
  • динамические контурные эффекты.

Архитектура

[править | править код]
  • используется «движок» рендеринга Cairo;
  • возможность писать расширения, реализующие, к примеру, поддержку новых форматов данных;
  • инфраструктура для исполнения сценариев, написанных на Perl, Python и Ruby;

Целевое использование

[править | править код]
  • иллюстрации для офисных циркуляров, презентаций; создание логотипов, визиток, плакатов;
  • технические иллюстрации (схемы, графики и пр.);
  • векторная графика для высококачественной печати (с предварительным импортом 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

[править | править код]
  • Создание встроенного средства коллективной работы средства Inkboard. Проект успешно завершён.
  • Создание инструмента соединительных линий для технических иллюстраций (блок-схем и т. д.). Проект успешно завершён. Продолжается работа над инструментом, параллельно проверяются новые идеи в прототипе под названием Dunnart[13].
  • Импорт/экспорт DXF — Matt Squires. Проект не был завершён; код лежит в дереве разработки, но не используется. Начиная с версии 0.47 импорт DXF реализован иным способом.
  • Поддержка фильтров SVG[12]. Проект успешно завершён.
  • Изменения в протоколе и библиотеке Inkboard. Проект успешно завершён.
  • Экспорт в PDF через Cairo. Проект успешно завершён.
  • Оптимизация использования памяти. Проект не реализован.
  • Улучшения в работе с текстом. Реализована поддержка <tref>, улучшена внутренняя обработка разных начертаний внутри гарнитуры. Код включён в состав версии 0.46.
  • Встроенный импорт PDF и AI на основе Poppler. Код включён в состав версии 0.46.
  • Динамические контурные эффекты для контуров. Код включён в состав версии 0.46.
  • Инструмент рисования параллелепипедов в перспективе. Код включён в состав версии 0.46.
  • Графический интерфейс к фильтрам SVG. Код включён в состав версии 0.46.
  • Растровые эффекты на основе ImageMagick. Код включён в состав версии 0.46.
  • Импорт и экспорт данных на ccHost. Код включён в состав версии 0.46.
  • Поддержка SVG Fonts. Проект успешно завершён.
  • Интеграция lib2geom: внутреннее представление контуров. Проект успешно завершён.
  • Разработка lib2geom: наращивание функциональности. Проект успешно завершён.
  • Техническое иллюстрирование в Inkscape. Проект успешно завершён, но за недоработанностью не включён в новые версии программы.
  • Пакет тестов. Проект успешно завершён.
  • Улучшения в реализации управления цветом и поддержке CMYK. Успешно завершено, будет доступно в 0.48.
  • API для написания сценариев. Успешно завершено, сроки включения в основное дерево разработки пока неизвестны.
  • Одновременное редактирование нескольких контуров. Успешно завершено, будет доступно в 0.48.
  • Улучшения в работе инструмента соединительных линий. Успешно завершено, будет доступно в 0.48.
  • Разработка lib2geom. Проект не завершён.
  • Пространственно-временное индексирование объектов документа для повышения производительности.
  • Рендеринг при помощи Cairo.
  • Динамический контурный эффект Power Stroke (модулируемая толщина контура).
  • Переработка сохранения и экспорта, переработка диалога экспорта.
  • Переписывание SPlayer на C++.
  • Улучшения работы инструмента Текст
  • Добавлен инструмент Линейка
  • Полноценный импорт и экспорт графики в форматах WMF и EMF
  • Поддержка реальных единиц измерения (миллиметры)
  • Нативный пакет под Windows x64
  • Добавлены новые параметры командной строки, управляющих размером страницы
  • Новый настройки радиуса эллипса
  • Добавлена поддержка многострочного текста с базовой поддержкой атрибута межстрочного интервала
  • Расширены настройки рендеринга
  • Улучшена обработка шрифтов и ускорена загрузка программы в Windows
  • Завершена поддержка Windows XP
  • Реализована функция выравнивания для нескольких не сгруппированных объектов

Сотрудничество с другими проектами

[править | править код]

Разработчики Inkscape достаточно тесно общаются с командами GIMP и Scribus и неоднократно встречались с ними на ежегодных конференциях Libre Graphics Meeting.

Пользователи и разработчики Inkscape являются авторами существенной части свободной библиотеки векторных изображений Open Clip Art Library[14]. Кроме того, программа активно используется участниками проекта Open Street Map.

Побочные проекты

[править | править код]

У проекта есть три побочных проекта:

  1. 2Geom[15] — библиотека, реализующая алгоритмы вычислительной геометрии. Разрабатывается Натаном Хёрстом, Менталом, Майклом Виброу, Майклом Слоаном и другими. Начиная с версии 0.46 библиотека используется в составе Inkscape. Нестабильная версия Scribus (1.3.5) также использует 2Geom для эффекта деформации по сетке.
  2. Adaptagrams[16] — общее название комплекта библиотек libvpsc, libcola и libavoid, предназначенных для создания редакторов блок-схем.
  3. Inkboard[17] — проект, уже вошедший в состав Inkscape и отдельно не развиваемый. Представляет собой встроенное клиентское приложение для совместного рисования. Использует протокол XMPP. Текущая версия Inkboard достаточно нестабильна и не умеет передавать собеседнику все локально выполняющиеся изменения. Запланирован переход на использование Telepathy[18].

Альтернативы

[править | править код]

У Inkscape имеются альтернативы как среди свободных, так и проприетарных программных средств[19]:

  • Gravit — кросс-платформенный векторный редактор, выпущенный под свободной лицензией. В 2018 вошёл в портфель продуктов компании Corel.
  • OpenOffice.org Draw — компонент одноимённого офисного пакета;
  • Xara Xtreme for Linux — свободная версия известного векторного редактора, исходный код которого почти весь был публично открыт в марте 2006 года. В настоящее время разработка этого продукта прекращена;
  • sK1 — векторный редактор, реализованный на Python и C; см. также Skencil;
  • Karbon — векторный редактор, часть KOffice.

Среди коммерческого программного обеспечения следует отметить CorelDraw, Adobe Illustrator, Macromedia FreeHand MX.

Недостатки

[править | править код]
  • невозможность экспорта в SWF;
  • некорректный экспорт в другие форматы проприетарных графических программ (Adobe, CorelDraw);
  • невозможность использования привычных горячих клавиш (например, Ctrl+C), если текущая раскладка не английская — унаследованный недостаток от библиотеки GTK+;
  • не работает поддержка шрифтов, которые реализованы без поддержки юникода.

Примечания

[править | править код]
  1. https://sourceforge.net/p/inkscape/mailman/inkscape-announce/?viewmonth=200311 (англ.)
  2. https://inkscape.org/learn/faq/#how-did-inkscape-start (англ.)
  3. Inkscape launches version 1.4, with powerful new accessible and customizable features
  4. 1 2 https://inkscape.org/en/learn/faq/#what-formats-can-inkscape-importexport
  5. The inkscape Open Source Project on Open Hub: Languages Page — 2006.
  6. https://inkscape.org/en/learn/faq/#What_License_is_Inkscape_released_under?
  7. https://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/COPYING
  8. Inkscape SVG vs. plain SVG — Inkscape Wiki. Дата обращения: 24 июля 2007. Архивировано 1 июля 2007 года.
  9. SourceForge.net: IMS Enterprise SDK: cetis-es-development. Дата обращения: 15 июля 2007. Архивировано 12 октября 2007 года.
  10. Inkscape 0.91. Дата обращения: 8 июля 2014. Архивировано 4 июля 2014 года.
  11. Animation — [[SVG]] 1.1 (Second Edition). Дата обращения: 29 августа 2006. Архивировано 27 августа 2006 года.
  12. 1 2 Filter Effects — SVG 1.1 (Second Edition). Дата обращения: 29 августа 2006. Архивировано 28 августа 2006 года.
  13. Dunnart Constraint-Based Diagram Editor. Дата обращения: 15 июля 2007. Архивировано 5 июля 2007 года.
  14. Library http://openclipart.org Архивная копия от 17 апреля 2019 на Wayback Machine
  15. lib2geom Homepage. Дата обращения: 11 мая 2022. Архивировано 12 апреля 2022 года.
  16. Adaptagrams: Tools for Adaptive Diagrams Архивировано 14 сентября 2008 года.
  17. Inkboard. Дата обращения: 1 июля 2008. Архивировано 5 апреля 2008 года.
  18. Telepathy Wiki — FrontPage. Дата обращения: 1 июля 2008. Архивировано 16 мая 2008 года.
  19. Open Source as Alternative. Дата обращения: 27 октября 2012. Архивировано 19 октября 2012 года.

Литература

[править | править код]
  • T. Bah. Inkscape: Guide to a Vector Drawing Program. — Prentice Hall, 2011. — 504 p. — ISBN 978-0-13-276414-8.
  • D. Kirsanov. The Book of Inkscape: The Definitive Guide to the Free Graphics Editor. — No Starch Press, 2009. — ISBN 978-1-59327-181-7.
  • Mihaela Jurković. Inkscape 0.48 Illustrator's Cookbook. — Packt Publishing, 2011. — ISBN 978-1-84951-266-4.
  • Bethany Hiitola. Inkscape Beginner's Guide. — Packt Publishing Ltd, 2012. — 616 с. — ISBN 978-1-84951-721-8.
  • Дмитрий Кирсанов. Серия уроков по InkScape // Linux Format. — 2006. — Январь-декабрь (№ 74—86).
  • Сергей Токарев (2006-03-23). "Командная строка для дизайнера". Компьютерра. Дата обращения: 23 ноября 2016.