четверг, июля 26, 2007

Изготовление постеров под Линуксом: «Ну не шмогла я...»

Как уже писал, поставил полевой эксперимент с целью понять, насколько существующие в open source инструменты пригодны в повседневной жизни. Для любителей дайджестов: не пригодны (погорячился: см. комментарии).

Перво-наперво мне нужно было сделать 2-метровую наклейку на ворота. Нарисовал в Xara LX, всё просто чудесно.



Но. Во-первых, из-за лимитов по размеру рисунка делать пришлось в масштабе 1:2. Во-вторых, и это самое печальное, сложный молдинг на нашивке (Ruffle Frame 4) при экспорте в PNG портился: он был на косых частях контура и пропадал на горизонтальных:



Должно быть:



Правильный вариант я смог получить, лишь экспортировав рисунок из Xara Xtreme под Windows. Это был низачот номер один, задержавший меня на пару часов, а главное — не имевший решения под Linux в принципе — ну или такого решения, которое можно было бы найти за два часа попыток. Это именно серьёзный косяк в самой Xara LX, так так после экспорта испорченным оказывался и молдинг в самом исходном рисунке!

Дальше я нарисовал три 3-метровых постера и один 7-метровый баннер в Inkscape. Нарисовал без особых проблем, если не считать тормозного интерфейса (ну, всё успевает тот, кто никуда не спешит). Неприятности снова начались при экспорте.

Как ни странно, 7-метровый баннер превратился в PNG адекватно и довольно быстро, но! Ни один из остальных, более мелких, я так и не смог получить в растре. Inkscape отъедал 100% времени процессора, его интерфейс полностью замерзал, и мне оставалось только наблюдать на Gkrellm, как процесс меланхолически мигрирует с одного процессора на другой (HyperThreading). Самая долгая из предпринятых мной попыток длилась около часа без каких-то признаков прогресса. Сперва я грешил на встроенные битмапы, но их удаление ничего не изменило. Проблемные изображения были гораздо меньше по объёму, чем удачно сэкспортированное. Единственное, что их отличало — в удачном не было ни одного объекта с гауссовой размывкой. Ну, просто догадка. Проверять не стал — некогда.

К счастью, оказалось, что Inkscape сохраняет очень даже внятный EPS. С двумя маленькими, но противными «но». Во-первых, всё, что касается прозрачности, становится плоско-белым: это все полупрозрачные объекты, все гауссовы размывки, все градиенты в прозрачность. Ужасно. Печально. Пришлось переделать градиенты «цвет—в—цвет» (что было проблематично в отсутствие в Inkscape возможности взять цветовой сэмпл для опорной точки градиента прямо из рисунка (был неправ: см. комментарии)). Что же касается размывок, единственный приемлемый способ состоит, кажется, в раздельном экспорте в EPS: 1) фона; 2) размываемых объектов с удалённой размывкой; 3) объектов, лежащих поверх них — с последующим послойным сбором этого добра в Фотошопе с гауссовыми размывками, воссозданными там заново. Геморройно, да. Один постер я собирал из пяти слоёв :-(

(Всё решает PDF: см. комментарии).

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

Вторая очень грязная проблема экспорта в EPS из Inkscape заключается в том, что все изображения, встроенные в обтравочный контур, в итоговом файле оказываются из него торчащими во всём своём безобразии. Понятно, что и здесь молчаливым чистильщиком стал Фотошоп. Кое-что удалось просто подрезать, кое-что пришлось выкинуть из Inkscape и заново вставить в Фотошопе.

Я и не рассчитывал сделать эту работу целиком средствами Linux: её итогом должны были стать CMYK TIFF, а на такой подвиг не способен никто из установленных у меня зверьков: ни Крита с зачаточной поддержкой CMYK, ни Gimp с модулем Separate, в адекватности которого я очень сомневаюсь. Без Фотошопа на последнем этапе я не рассчитывал обойтись. Но фактически он оказался добрым deus ex machina, спустившимся из-за кулис на верёвках и спасшим всю работу. (По советам из комментариев получил свой постер в Gimp «пуля в пулю», оставив Фотошопу, натурально, только препресс).

Сейчас на очереди ещё четыре постера, три из которых — фотографические. Посмотрим, насколько Gimp окажется хорош в этой задаче. Думаю, тут как раз удастся сделать всё в нём, кроме, конечно, последнего цветоделения и коррекции.

Четвёртый постер опять — коллаж, прозрачности, размывки... Видимо, это будет набросок в Inkscape со сборкой в Фотошопе, имея в виду уже известные мне подводные брёвна.

7 комментариев:

bulia byak комментирует...

Да, блюр на высокое разрешение экспортируется очень медленно, это известная проблема. Иногда можно экспортировать все в меньшее разрешение и потом растянуть полученный PNG. Иногда проще превратить объекты с блюром в битмапы (Alt+B) и убрать блюр прямо в Inkscape. Можно и выгнать по отельности слои с блюром (с малым разрешением) и без блюра, потом привести к одному масштабу и собрать.

"возможности взять цветовой сэмпл" разумеется есть, F7

"всё, что касается прозрачности, становится плоско-белым" - претензии не к нам, в EPS прозрачности просто нет, пользуйтесь PDF

Clippaths в eps/pdf пока не экспортируются, это тоже известная проблема. Опять же спасет alt-b на обрезанный таким образом битмап с убиранием исходника.

CMYK TIFF замечательно делается утилитой командной строки tifficc из libicc.

bulia byak комментирует...

И кстати, если в конце все равно фотошоп, зачем мучиться с кошмарным EPS? Последние версии фотошопа и иллюстратора нормально импортируют SVG.

Сергей комментирует...

Работать через EPS — устойчивый рефлекс :-) Как любое бездумное действие, иногда подводит. Действительно, PDF дал вполне адекватный результат — со всеми размывками и обрезанными изображениями, потребовалось только удалить оригиналы.

Пара вопросов по этому поводу.

1) С каким разрешением создаётся растровая копия? С разрешением экспорта по умолчанию?

2) Может быть, есть смысл в настройках Inkscape сделать выбор: добавлять растровую копию (как сейчас) или заменять растровой копией. По мне, так удобнее заменять перед сохранением в EPS, а для правки всегда есть оригинальный файл.

Про F7 просто не знал: не нашёл пипетки на палитре, а документацию читал казуально :-) Действительно, сэмпл берётся, но берётся, кажется, с кликнутого объекта, а гораздо практичнее было бы брать с экранного цвета в месте клика, т. к., тыча пипеткой в картинку, я имею в виду «как здесь», а не «как у верхнего объекта, чей bounding box занимает это место». тем более что если у кликнутого объекта заливка градиентная, сэмпл для опорной точки, похоже, с него уже не взять (меня берётся белый). Или, может, берётся цвет соответствующей опорной точки его градиента (посмотрю дополнительно).

CMYK TIFF сделать можно, да. Но коррекцию критичных мест после цветоделения сделать-то негде. Проверить, нет ли жёлтого в синих местах, сколько циана в тонах кожи, не появился ли чёрный в чистых цветах. Даже после фотошоповского деления приходится кое-где корректировать по мелочам, а просто поделить в командной строке и отдать в печать — очень рискованный шаг, по-моему.

bulia byak комментирует...

От рефлексов надо избавляться :) PS - формат позапрошлого века без перспектив развития. Его надо просто забыть. PDF хотя бы развивается, хотя SVG все равно лучше.

1 - да, 90 дпи по умолчанию. Если надо, можно поменять правкой preferences.xml (UI для этого пока нет):

group id="createbitmap" resolution="300"

2 - не, для многих это будет неприятный сюоприз, да и не так уж много работы лишний Del нажать

F7 - все точно так и работает, берет и из градиента и из блюра, с любой точки, может даже усреднять если протащить мышкой. Если берется белый - то это баг в 0.45, исправлен в 0.45.1, just upgrade.

Сергей комментирует...

Лишний-то раз нажать Del — не проблема, но когда эта размывка зарыта под сверху лежащими объектами, докопаться до неё, не растаскивая эти объекты — та ещё задача. Или я снова не читал документацию, и есть способ выбирать объекты вглубь (пока что не вычислил такого)?

Сергей комментирует...

Поставил 0.45.1, пережив микроинфаркт при апгрейде libc6 (вроде обошлось...). Действительно, сэмплы берутся теперь просто... неподражаемо :-) круче фотошопа.

bulia byak комментирует...

выбирать вглубь - alt+cilck

вообще, читайте http://inkscape.org/doc/keys.html, много полезного найдете :)

на всякий случай еще вот что:

http://wiki.inkscape.org/wiki/index.php/FAQ#How_to_make_Alt.2Bclick_and_Alt.2Bdrag_work_on_Linux.3F

Поиск по этому блогу