Годится ли Inkscape для создания микростоковых иллюстраций?

Как ни прискорбно это признавать, стандартом де-факто в векторной графике на сегодняшний день является вовсе не Inkscape, а Adobe Illustrator. И этот факт часто является причиной боли иллюстраторов, которые таки выбрали Inkscape в качестве основного рабочего инструмента. Особенно это касается создания иллюстраций для микростоков. К счастью, все не так безнадежно, как думают многие. И в этой статье я расскажу, как можно создавать векторные иллюстрации для микростоков, используя только Inkscape (либо же используя Illustrator только в качестве конвертера в нужный формат).

Годится ли Inkscape для создания микростоковых иллюстраций?

Прежде чем перейти к подробному разбору вопроса, сразу скажу, что использовать Inkscape для микростоковых иллюстраций можно, но при этом придется преодолевать некоторые трудности, а часть проблем не решаема в принципе. Но если вы работаете в Linux, или же не хотите платить за Иллюстратор или использовать его пиратскую версию, то выбор небогат. И если трудности вас не пугают — продолжим.

В чем, собственно, основная суть проблемы? В том, что практически все микростоки ориентируются на Иллюстратор, как на стандарт в индустрии, и как следствие — принимают векторную графику в родном для иллюстратора формате EPS. Справедливости ради — некоторые из них также попутно принимают и родной для Inkscape формат SVG (Fotolia например), но это скорее экзотика. Кстати, даже для Fotolia из Inkscape нужно сохранять в формате «Plain SVG», поскольку родной инкскейповский формат чуть отступает от стандартов ради расширения функционала.

Причем EPS принимается двух стандартов — EPS8 (совместимый с 8-й версией Иллюстратора и выше) и EPS10 (совместимый с 10-й версией иллюстратора и выше). EPS8 является более урезанным вариантом и не поддерживает прозрачность, эллиптические градиенты и много чего еще (в отличие от EPS10).

Inkscape умеет из коробки делать экспорт в EPS8, но при этом ограничений и проблем еще больше, чем при сохранении в этот самый EPS8 напрямую из иллюстратора. Например, те же градиенты растрируются, а вектор со встроенными растровыми элементами по понятным причинам (невозможность редактирования) стоки категорически не принимают.

Итого, у нас имеется на выбор два варианта — либо прямо из Inkscape сохранять в EPS8 (со всеми его ограничениями), либо использовать Illustrator в качестве конвертера в EPS10. Оба варианта работают, хотя и с некоторыми оговорками (о них поговорим ниже). Проверено — тот же Shutterstock (крупнейший микростоковый сервис) принимал у меня изображения, созданные обоими способами. Понятно, что использование Иллюстратора в качестве конвертера — это дополнительные заботы, но они не так уж сильно сказываются на КПД (разумеется, при наличии доступа к установленному Иллюстратору). Ну а если рисовать во флете (плоский стиль без всяких прозрачностей и градиентов), то возможностей EPS8 хватает с головой, тогда и никакие конвертеры не нужны.

Хотя, если просто сохранять в EPS8 из Inkscape, то проблемы все же могут возникнуть. Например, после загрузки такого файла на Шаттерсток вы можете получить отказ с формулировкой «Artboard — Vector is overlapping artboard bounds or is too small on the artboard, or there is more than one artboard in the file.»
То есть причина отказа в том, что реальные размеры иллюстрации не совпадают с размерами границ документа (артборда). При этом в Inkscape они могут совпадать пиксель-в-пиксель. А при открытии созданных в Inkscape EPS-ов им по каким-то неведомым причинам задается артборд размером как у предыдущего открытого в Иллюстраторе документа (то есть каждый раз артборд может быть разным, это лотерея).

Костыльное (не до конца меня устраивающее) решение нашлось в блоге Шаттера. Кстати, походу стало очевидным, что Шаттер в общем-то не имеет ничего против использования Inkscape для создания иллюстраций.
Собственно, статья в блоге, и абзац из нее касательно Inkscape:

If you’re creating vectors using Inkscape, we recommend you submit your vectors no larger than 400px on the largest side. Inkscape does not retain the dimensions of the artboard when saved down to Ai EPS 8 or 10. Saving it at 400px by 400px will ensure that your vector will open on the artboard for our customers.

То есть они рекомендуют использовать размер холста не больше 400 пикселей по большей стороне, поскольку Inkscape якобы не сохраняет данные о размере документа при экспорте в EPS. При всем при этом в диалоговом окне экспорта в EPS в Inkscape имеется опция «Output page size» (я всегда оставляю дефолтное значение этой опции «Use document’s page size»). Но Иллюстратор по каким-то причинам игнорирует этот размер. Я так понимаю, предлагаемое ограничение в 400 пикселей довольно условно. Смысл в том, чтобы в большинстве случаев изображение помещалось в рамки текущего артборда.

Еще один момент — при импорте изображение сжимается в Иллюстраторе в 1.33(3) раза (то есть до 0.75 от исходного размера). То есть например объект шириной в 800 пикселей сжимается до 600. И это плохо в случае выравнивания по пиксельной сетке, которое ломается (в некоторых случаях это критично). Судя по всему, уменьшение картинки происходит из-за разности разрешений — 96 DPI в Inkscape против 72 DPI в Illustrator. Как вариант — можно по окончании работ искуственно делить результат на 0.75. Но это топорное решение, хочется более изящного. Тем более, что при таком решении не факт, что пиксельная сетка не сместится.

Проблема с некорректным размером артборда решается сторонним скриптом. Один добрый человек создал аддон, который позволяет сохранять изображения из Inkscape в более корректном виде, после такого сохранения в Иллюстраторе отображается реально заданный размер артборда. Помимо этого, аддон также закрывает незакрытые пути и прочее по мелочи, но это уже не так важно. После установки аддона в списке доступных форматов (в окне «Сохранить как», Shift+Ctrl+S) появляется пункт Encapsulated PostScript – AI compatible (*.eps), его и нужно использовать для экспорта.

Но в комментариях видим обсуждение по поводу того, что с самой последней версией Inkscape (0.92) при экспорте уменьшается размер вектора, имеется ввиду та самая проблема с разным DPI. Так или иначе, у меня в версии Inkscape 0.92 после экспорта EPS открывается в Иллюстраторе с нормальным артбордом, проверено. Кстати, общий размер картинки при этом уменьшается не до 0.75, а до 0.8 от исходной.

Экспериментальным путем поборол я и последнюю проблему тоже (некорректный размер после экспорта).
В упомянутом аддоне нужно найти строку (140):

        self.matrices = [ [0.8, 0, 0, -0.8, 0, self.docHeight] ]

…и заменить ее на:

        self.matrices = [ [1, 0, 0, -1, 0, self.docHeight] ]

После указанной манипуляции при открытии проэкспортированного в Illustrator изображения получаем тот же размер элементов, что и в Inkscape.

Казалось бы, все выявленные проблемы решены, и можно спокойно использовать Inkscape для создания стоковых иллюстраций. И это отчасти действительно так, но некоторые неудобства все же остаются.

Среди них:

1

По прежнему нет возможности экспортировать напрямую из Inkscape изображения в формате EPS10. Причем инкскейповский EPS8, насколько я помню, даже обычные градиенты растрирует. То есть если ваши работы — что-то более сложное, чем простой флет (плоские цвета без градиентов и прозрачностей), то без Иллюстратора не обойтись. Но при этом все же есть возможность делать основную работу в Inkscape, используя Illustrator в качестве конвертера — экспортировать из Inkscape в «Plain SVG», открывать этот SVG в Иллюстраторе и уже оттуда сохранять в EPS10.

Кстати, в последних версиях Inkscape уже есть меши, которых многим так не хватало. Правда, как эти меши ведут себя при экспорте в Illustrator, я пока не проверял. Но в том, что при экспорте в EPS8 напрямую из Inkscape они будут растрированы — сомнений нет.

2

При экспорте в EPS8 напрямую из Inkscape начисто ломается вся структура документа. То есть внешне он выглядит нормально, но при этом содержит всего один слой, в который скопом свалены все объекты. И если вы до этого с любовью к мелочам выстраивали структуру, разделяя объекты логически на слои и группы с осмысленными названиями, то после экспорта вся эта работа пропадет. И это тоже имеет значение, поскольку покупатели на стоках ценят удобство использования купленных файлов, и после обнаружения такой структуры документа в следующий раз могут к вам и не прийти.

3

Смежная с предыдущей проблема — при экспорте в EPS из Иллюстратора и импорте полученного файла в Inkscape структура документа также полностью ломается. Среди прочего это приводит к осложнению совместной работы над документом людьми, один из которых работает в Inkscape, а другой — в Illustrator-е. Проблема может показаться надуманной, но это реальный кейс из моей работы.

4

У стоков довольно жесткие требования к принимаемым изображениям. Для Иллюстратора существуют решения, позволяющие одним махом проверять вектора на соответствие требованиям и исправлять проблемы в случае их обнаружения (например, плагин Vector Inspector Pro). Для Inkscape подобных инструментов практически нет. Отчасти некоторые недосмотры (типа незакрытых путей) решает упомянутый выше аддон, но он решает далеко не все проблемы.

Например, Inkscape грешит созданием дублирующихся узлов, когда на месте одного узла создается два и больше. Это часто бывает при преобразовании объектов и строк в кривые. Отчасти проблему можно решить операцией объединения (Path → Union или Ctrl++), примененной к проблемному объекту, но это не всегда решает проблему до конца, да и вручную перещелкивать каждый объект может быть слишком утомительно, особенно в сложных сценах. Кстати, я обнаружил, что на практике изображения с дублирующимися узлами таки пропускают инспектора на стоках. Но это не повод делать некачественный вектор (а дублирующиеся узлы — один из признаков плохого качества).

На этом все. Буду благодарен, если в комментариях вы поделитесь своим опытом использования Inkscape для создания стоковых иллюстраций, про возникающие в процессе проблемы и найденные вами способы решения.


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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *