Inkscape

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Inkscape
Inkscape Logo.svg
Inkscape 0.48.2 with Red Gallardo.svg
Inkscape 0.91 Fedora 24
Тип векторный графический редактор
Автор Тед Гулд[d], Брайс Харрингтон[d], Нейтан Хёрст[d] и MenTaLguY[d]
Разработчики Команда разработчиков Inkscape
Написана на C++[3] и Си
Интерфейс GTK+ и Gtkmm
Операционная система Кроссплатформенное программное обеспечение
Языки интерфейса албанский, амхарский язык, арабский, Армянский, ассамский язык, азербайджанский, баскский язык, белорусский, бенгальский язык, Бодо, бретонский язык, болгарский, каталанский, китайский язык, хорватский, чешский, датский, догри, нидерландский, дзонг-кэ, английский, эсперанто, эстонский, персидский, финский, французский, галисийский язык, немецкий, греческий, гуджарати, иврит, хинди, венгерский, исландский, индонезийский язык, ирландский язык, итальянский, японский, каннада, кашмирский язык, кхмерский язык, Руанда, конкани, корейский, латышский язык, литовский язык, македонский язык, Майтхили, малаялам, Манипури, маратхи, монгольский язык, непальский язык, букмол, нюнорск, ория, панджаби, польский, португальский, румынский, русский, санскрит, Сантали, сербский, синдхи, словацкий язык, словенский, испанский, шведский, тамильский язык, телугу, тайский язык, турецкий, украинский, урду, валенсийский язык и вьетнамский
Первый выпуск 2 сентября 1999[1]
Последняя версия
Читаемые форматы файлов SVG[4]
Создаваемые форматы файлов SVG[4]
Состояние активный
Лицензия GNU GPL 2[5][6]
Сайт inkscape.org/ru/
Commons-logo.svg Inkscape на Викискладе

Inkscape (Инкскейп) — свободно распространяемый векторный графический редактор, удобен для создания как художественных, так и технических иллюстраций (вплоть до использования в качестве САПР общего назначения, чему также способствует лёгкость обмена чертежами). Это стало возможным во многом благодаря открытому формату SVG, развиваемому консорциумом W3C. Формат SVG позволяет создавать иллюстрации различного типа, в том числе анимированные. Поскольку SVG основан на языке разметки XML, к нему можно писать расширения, чем авторы Inkscape и пользуются[7]. Программа распространяется на условиях GNU General Public License.

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

История Inkscape началась с того, что нескольких программистов и дизайнеров, умеющих писать код, перестали устраивать условия разработки редактора векторной графики Sodipodi. Поняв, что они не смогут в должной степени применить свои навыки, они организовали новый проект[8], который назвали Inkscape. На тот момент[когда?] в Linux было всего два редактора векторной графики, которые можно было использовать в реальной работе — Sodipodi и SKetch, позднее переименованный в Skencil. С тех пор разработка Sodipodi и Skencil сошла на нет. В версии Inkscape 0.91 добавлено много новых возможностей и исправлено более 700 ошибок, допущенных в версии 0.48, что делает Inkscape более готовым к использованию[9]. Inkscape де-факто стал самым популярным свободным редактором в своей области.

Возможности[править | править код]

Собственный формат документов[править | править код]

  • основан на SVG v1.1, содержит ряд расширений для увеличения функциональности;
  • документы Inkscape SVG можно сохранить как Plain SVG с возможностью изменять неподдерживаемые в обычном SVG элементы как контуры;
  • документы можно сохранять и открывать в сжатом виде, с использованием алгоритма компрессии gzip;
  • использование групп SVG как слоёв, перемещение документов между слоями.

Поддерживаемые форматы документов[править | править код]

Inkscape может редактировать и сохранять только одну страницу из всего PDF-документа.

Удобство использования[править | править код]

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

Операции с контурами[править | править код]

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

Архитектура[править | править код]

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

Целевое использование[править | править код]

  • иллюстрации для офисных циркуляров, презентаций, создание логотипов, визиток, плакатов;
  • технические иллюстрации (схемы, графики и пр.);
  • векторная графика для высококачественной печати (с предварительным импортом SVG в Scribus);
  • веб-графика — от баннеров до макетов сайтов, пиктограммы для приложений и кнопок сайтов, графика для игр.

Планы[править | править код]

Основная цель — полная поддержка SVG Mobile Specification и частичная поддержка — SVG Full Specification. Это включает в себя поддержку анимации[10] и SVG-фильтров[11].

Запланирована максимальная модуляризация кода и выделение общего кода в повторно используемые библиотеки. Первый шаг к этому — версия 0.47, выпущенная в ноябре 2009 года.

Inkscape и Google Summer of Code[править | править код]

Проект Inkscape участвует в программе Google Summer of Code с 2005 года, то есть с самого начала. Благодаря участию в программе проект обзавёлся новыми постоянными разработчиками.

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

  • Создание встроенного средства коллективной работы средства Inkboard. Проект успешно завершён.
  • Создание инструмента соединительных линий для технических иллюстраций (блок-схем и т. д.). Проект успешно завершён. Продолжается работа над инструментом, параллельно проверяются новые идеи в прототипе под названием Dunnart[12].
  • Импорт/экспорт DXF — Matt Squires. Проект не был завершён; код лежит в дереве разработки, но не используется. Начиная с версии 0.47 импорт DXF реализован иным способом.

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

  • Поддержка фильтров SVG[11]. Проект успешно завершён.
  • Изменения в протоколе и библиотеке 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[править | править код]

  • Пространственно-временное индексирование объектов документа для повышения производительности.
  • Рендеринг при помощи Cairo.
  • Динамический контурный эффект Power Stroke (модулируемая толщина контура).
  • Переработка сохранения и экспорта, переработка диалога экспорта.
  • Переписывание SPlayer на C++.

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

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

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

Побочные проекты[править | править код]

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

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

Альтернативы[править | править код]

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

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

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

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

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

Примечания[править | править код]

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

Ссылки[править | править код]