100 советов по допечатной подготовке

Устинова Н. Р.

2. Проблемы с векторными объектами.

2.1 Век­тор­ный объ­ект, по­ме­щен­ный под про­зрач­ным или по­лу­про­зрач­ным раст­ро­вым фо­ном. Ес­ли до­пе­чат­ник ро­дил­ся под счаст­ли­вой звез­дой и все осталь­ные ошиб­ки и недо­че­ты PostScript мо­гут и не про­явить­ся на фо­то­вы­во­де из-под его лег­кой ру­ки, то век­тор­ный объ­ект, по­ме­щен­ный под про­зрач­ным или по­лу­про­зрач­ным раст­ро­вым фо­ном про­явит­ся во всей сво­ей «кра­се» все­гда. Фир­ма Adobe, как за­ко­но­да­тель­ни­ца стан­дар­та, еще не ре­ши­ла эту кол­ли­зию на про­грамм­ном уровне. И все осталь­ные про­из­во­ди­те­ли до­пе­чат­но­го про­грамм­но­го обес­пе­че­ния то­же. По­это­му эту про­бле­му до сих пор при­хо­дит­ся ре­шать толь­ко вруч­ную. «Глюк» вы­гля­дит сле­ду­ю­щим об­ра­зом: та часть век­тор­но­го объ­ек­та, ко­то­рая по­ме­ще­на под по­лу­про­зрач­ный или пол­но­стью про­зрач­ный раст­ро­вый фон, вме­сто то­го, чтобы, как ей и по­ло­же­но, иметь ров­ные глад­кие края сво­их кон­ту­ров, под­вер­га­ет­ся гру­бой рас­те­ри­за­ции с при­об­ре­те­ни­ем яв­но вид­ных и очень некра­си­во вы­гля­дя­щих сту­пен­ча­тых кра­ев. Ре­ше­ний есть три: ли­бо про­сто по­ме­стить век­тор­ный объ­ект над раст­ро­вым фо­ном, ли­бо мас­ки­ро­вать раст­ро­вый фон, чтобы он не на­хо­дил на век­тор­ный объ­ект, ли­бо, ес­ли вы­ше­пе­ре­чис­лен­ное невоз­мож­но (до­пу­стим, объ­ект при­крыт гра­ди­ен­том по­лу­про­зрач­но­сти и по­сте­пен­но ис­че­за­ет под раст­ро­вым объ­ек­том), то на­до вруч­ную рас­три­ро­вать груп­пу «век­тор­ный объ­ект–раст­ро­вый объ­ект» в один раст­ро­вый объ­ект, же­ла­тель­но уже непро­зрач­ный.

2.2 По­ли­го­наль­ные кри­вые (Polygon), ба­зо­вые фор­мы (Basic Shapes), ху­до­же­ствен­ные ки­сти (Artistic Brushes) – суть фор­му­лы, несмот­ря на свою про­сто­ту. Мо­гут по­счи­тать­ся пра­виль­но, а мо­гут и из­ме­нить свою фор­му до неузна­ва­е­мо­сти. Ко­гда их ма­ло, и они про­стые, ве­дут се­бя смир­но. Ко­гда их мно­го и/или они слож­ные – на­чи­на­ют ве­сти се­бя непред­ска­зу­е­мо- ме­ня­ют фор­му или ис­че­за­ют. По­это­му их на­до кон­вер­ти­ро­вать в про­стые кри­вые (Convert to curves).

2.3 Мас­шта­би­ру­е­мая об­вод­ка/аб­рис. (Outline Scaled with image) – то­же суть фор­му­ла, толь­ко фор­му­ла вы­чис­ле­ния за­ви­си­мо­сти тол­щи­ны об­вод­ки от мас­шта­ба объ­ек­та. Очень удоб­ная оп­ция для ди­зай­не­ра: за­дал со­от­но­ше­ние тол­щи­ны кон­ту­ра по от­но­ше­нию к про­пор­ци­ям у объ­ек­та, и мож­но из­ме­нять его раз­ме­ры как угод­но, не бо­ясь за на­ру­ше­ние этой про­пор­ции. Мо­жет по­счи­тать­ся пра­виль­но, а мо­жет и из­ме­нить свою фор­му до неузна­ва­е­мо­сти. Од­ним из са­мых ин­те­рес­ных «глю­ков», ко­то­рые мне до­ве­лось на­блю­дать – это ча­стич­ное ис­чез­но­ве­ние об­вод­ки вдоль кон­ту­ра. На од­ном сег­мен­те кри­вой об­вод­ка есть, а на сле­ду­ю­щем – нет. Ко­гда та­ких объ­ек­тов ма­ло, и они про­стые, ве­дут се­бя смир­но. Ко­гда их мно­го и/или они слож­ные – на­чи­на­ют ве­сти се­бя непред­ска­зу­е­мо. Так как мы уже го­то­вим файл на фо­то­вы­вод, а зна­чит все объ­ек­ты уже про­шли ста­дию утвер­жде­ния их по­ло­же­ния и
раз­ме­ра в изо­бра­же­нии, и мы точ­но зна­ем, что мас­шта­би­ро­вать эти объ­ек­ты мы не бу­дем, то мы про­сто от­клю­чим эту оп­цию у каж­до­го объ­ек­та. То­гда раз­мер об­вод­ки за­фик­си­ру­ет­ся в ви­де чет­ко опре­де­лен­ной кон­стан­ты раз­ме­ра, ко­то­рый в дан­ный мо­мент име­ет об­вод­ка, а не в ви­де фор­му­лы вы­чис­ле­ния.

2.4 Спе­ц­эф­фек­ты – сме­ши­ва­ние (Blend), кон­тур (Contour), ис­крив­ле­ние (Distortion), пер­спек­ти­ва (Envelope), объ­ем (Extrude), текст вдоль кри­вой (Fit text to path) и т.п. Мне и са­мой нра­вит­ся эта ка­те­го­рия век­тор­ных спе­ц­эф­фек­тов за их кра­си­вый и быст­рый ре­зуль­тат. Так­же за свою быт­ность до­пе­чат­ни­ком я на­смот­ре­лась на боль­шое раз­но­об­ра­зие непред­ска­зу­е­мых и аб­со­лют­но не име­ю­щих ни­че­го об­ще­го с ис­ход­ным изо­бра­же­ни­ем ре­зуль­та­тов их об­ра­бот­ки. По­это­му я сна­ча­ла при­во­жу эти спе­ц­эф­фек­ты к про­сто­му ви­ду ко­ман­дой Expand/BreakApart, а за­тем, ес­ли мне по­ка­за­лось, что объ­ек­тов, по­лу­чен­ных в ре­зуль­та­те дан­но­го пре­об­ра­зо­ва­ния, по­лу­ча­ет­ся непри­лич­но мно­го, про­из­во­жу опе­ра­цию Rasterize/Convert to bitmap.

2.5 Неза­мкну­тая кри­вая. В этом слу­чае PostScript (а мы, несмот­ря на PDF, по су­ти име­ем де­ло имен­но с ним) мо­жет дво­я­ко ин­тер­пре­ти­ро­вать, за­ли­вать неза­мкну­тую кри­вую или нет, да­же ес­ли ей из­на­чаль­но при­сво­е­на ненуле­вая за­лив­ка (и, не дай Бог, ес­ли еще и за­лив­ка бу­дет непро­стой). По­это­му не по­ла­га­ясь на авось, за­мкни­те кри­вую, ес­ли вы хо­ти­те, чтобы там 100% по­яви­лась за­лив­ка.

2.6 Ко­ли­че­ство уз­лов в кри­вой Безье >2000 уз­лов. На­пра­ши­ва­ет­ся ри­то­ри­че­ский во­прос, за­чем так мно­го? Еще 10 лет на­зад су­ще­ство­ва­ло чет­кое пра­ви­ло – не бо­лее 1000 уз­лов на 1 кри­вую. Ина­че… здесь ва­ри­ан­ты: про­из­воль­ное из­ме­не­ние фор­мы, гру­бая рас­те­ри­за­ция, про­сто невы­вод фор­мы из-за ошиб­ки, за­ви­са­ние и т.п. При­чи­на од­на – про­грамм­ные огра­ни­че­ния на об­ра­бот­ку та­ко­го боль­шо­го ко­ли­че­ства уз­лов. Свя­за­ны с осо­бен­но­стя­ми син­так­си­са язы­ка PostScript. В об­щих сло­вах, об­ра­бот­ка каж­до­го объ­ек­та в PostScript де­лит­ся на ма­лень­кие эта­пы, ре­зуль­тат каж­до­го эта­па за­пи­сы­ва­ет­ся в стек – вре­мен­ное хра­ни­ли­ще дан­ных. Стек име­ет фик­си­ро­ван­ный раз­мер, до­ста­точ­ный для об­ра­бот­ки по­дав­ля­ю­ще­го боль­шин­ства объ­ек­тов. Од­на­ко, как по­ни­ма­е­те, раз­мер сте­ка фик­си­ро­ван, а зна­чит, огра­ни­чен. Как толь­ко объ­ект про­шел все свои ста­дии по­ша­го­вой об­ра­бот­ки, все ре­зуль­та­ты вы­чис­ле­ний по­сле­до­ва­тель­но из­вле­ка­ют­ся из сте­ка и объ­ект на­чи­на­ет про­ри­со­вы­вать­ся на стра­ни­це. До­пу­стим, в стек мож­но по­ме­стить до 500 про­ме­жу­точ­ных эта­пов (циф­ры взя­ты для на­гляд­но­сти). А про­изо­шло так, что на­ша мно­го­то­чеч­ная кри­вая об­ра­ба­ты­ва­ет­ся пол­но­стью, до­пу­стим, за 501 этап. 1 этап, ко­то­рый не по­ме­стил­ся в стек, со­зда­ет кол­ли­зию – объ­ект пол­но­стью не мо­жет об­ра­бо­тать­ся, а яче­ек сте­ка уже не хва­та­ет для его об­ра­бот­ки. А без ко­ман­ды окон­ча­ния об­ра­бот­ки дан­ные не бу­дут из­вле­кать­ся из сте­ка. А ко­ман­да кон­ца об­ра­бот­ки не мо­жет быть вы­пол­не­на, по­то­му что 1 опе­ра­ция не за­вер­ше­на. Эта про­бле­ма так и на­зы­ва­ет­ся в про­грам­ми­ро­ва­нии «пе­ре­пол­не­ние сте­ка», в про­стой ре­чи – «за­кон­чи­лась па­мять». То­гда про­грам­ма за­пус­ка­ет про­цесс раз­ре­ше­ния кол­ли­зии – это очень слож­ный ал­го­ритм. В ре­зуль­та­те мы ви­дим кус­ки гру­бо рас­три­ро­ван­ной кри­вой или из­ме­не­ние ее фор­мы. Ре­ше­ние все­гда бы­ло од­ним – при­ве­де­ние кри­вой к груп­пе про­стых кри­вых с ко­ли­че­ством уз­лов в каж­дой <1000. Очень юве­лир­ная ра­бо­та. С по­яв­ле­ни­ем PostScript 2 про­бле­ма вро­де как ис­чез­ла. Не со­всем. Они уве­ли­чи­ли раз­мер сте­ка, но стек по опре­де­ле­нию дол­жен обя­за­тель­но иметь фик­си­ро­ван­ную, а зна­чит, огра­ни­чен­ную, дли­ну. До­воль­но-та­ки мощ­ный RIP-про­цес­сор, ра­бо­та­ю­щий с PostScript 3 «вы­дал» весь­ма ори­ги­наль­ный ре­зуль­тат ча­стич­ной рас­те­ри­за­ции та­ких объ­ек­тов при сле­ду­ю­щих усло­ви­ях. Каж­дый объ­ект со­сто­ял из 5000 уз­лов. На ли­сте та­ких объ­ек­тов бы­ло 7 и они за­ни­ма­ли всю пло­щадь ли­ста, т.е. бы­ли круп­ные по раз­ме­ру. В из­де­лии при­сут­ство­ва­ли еще неко­то­рое мно­же­ство дру­гих объ­ек­тов, по­ми­мо этих 7-и. Это был пла­кат 700×500 мм. Ком­мен­та­рии, ду­маю, из­лиш­ни.

2.7 Тол­щи­на объ­ек­та или об­вод­ки мень­ше 0,1 мм. Дру­гой ри­то­ри­че­ский во­прос: за­чем так тон­ко? Ли­нию тонь­ше 0,1 мм оф­сет­ная ма­ши­на пло­хо про­пе­ча­та­ет, да­же ес­ли объ­ект есть на фор­ме. А ес­ли об­вод­ка 0,1 мм цве­том, до­пу­стим, C100M0, по­став­ле­на на объ­ект цве­та, до­пу­стим С50M100, а объ­ект по­став­лен на фон С100M100, то ма­ши­на ее про­пе­ча­та­ет, но вы ее не уви­ди­те на от­тис­ке – она у вас в гла­зу «со­льет­ся» с фо­ном. По­это­му, ес­ли это не тан­гир­ный узор (0,035 – 0,05 мм), все об­вод­ки раз­ме­ром < 0,1 мм до­во­дим до раз­ме­ра 0,1 мм.

2.8 Тек­стур­ная за­лив­ка (Texture fill), за­лив­ка-узор (Pattern Fill), се­точ­ная за­лив­ка (Mesh fill). Кра­си­во, удоб­но и… очень про­бле­ма­тич­но. Да­же не пы­тай­тесь на­де­ять­ся, что все бу­дет хо­ро­шо. Мо­жет быть вам по­ве­зет 1 раз, мо­жет быть 2, мо­жет быть N раз. Но на N+1-й раз это обя­за­тель­но станет при­чи­ной ошиб­ки, ма­те­ри­аль­ных по­терь и непри­яз­нен­ных взгля­дов за­каз­чи­ка. По­это­му, как толь­ко встре­ти­ли их, так Rasterize/Convert to bitmap.

Loading

1
2
3
4
5
6
7
8
9
10
11
Предыдущая статьяРискни разделить неделимое
Следующая статьяИльяс Калиев