Векторная графика в пакете FreeHand 9.0



Постскриптовские заливки


Постскриптовскими называются заливки, описанные на языке PostScript. Многие постскриптовские заливки по своему виду напоминают декоративные орнаменты или узоры, построенные на основе регулярного повторения некоторого простого рисунка. Для работы с постскриптовскими заливками предназначены разделы Custom (Заказной) и PostScript. Особый класс посткриптовских заливок составляют так называемые текстуры - заливки, имитирующие вид реальных материалов.
В разделе Custom (Заказной) для заливки фигуры можно выбрать одну из 10 встроенных постскриптовских заливок. На рис. рис. 4-18 показаны примеры первых шести заливок из списка Custom.



4-18. Примеры постскриптовских заливок

К сожалению, FreeHand не поддерживает непосредственную экранную визуализацию объектов языка PostScript. На экране такие заливки изображаются условно, как показано на рис. 4-19. При выводе на обычный принтер они заменяются закраской. Только устройства, которые программно или аппаратно поддерживают PostScript, могут обеспечить правильное отображение этих заливок.



4-19. Условное изображение постскриптовских заливок

Некоторые постскриптовские заливки имеют настроечные параметры. Их вид и содержание зависят от типа заливки. На рис. 4-20 представлены три разновидности орнамента Noise (Шум) при разных значениях его настроечных параметров.



4-20. Настройка заливки

Пользователи, имеющие опыт программирования на языке PostScript, могут описать и ввести в программу собственные постскриптовские заливки. Для этих целей предназначен раздел PostScript инспектора заливок. Правила ввода постскриптовских текстов очень просты. Программа вводится с клавиатуры непосредственно в центральное поле инспектора. Максимальная длина программы не должна превышать 255 символов. Текст программы записывается подряд, без разрывов на строки, разделителем служит символ пробела. По нажатию клавиши <Enter> заливка будет применена к отмеченному объекту или станет заливкой по умолчанию, если отмеченных объектов нет. Перед вводом нового описания строчку «fill» надо удалить из окна инспектора.
Так, например, следующий постскриптовский код порождает заливку, показанную на рис. 4-21 слева.
clipper 5 setlinewidth 5 dict begin pathbbox /Texch def/R exch def2 copy translate /B exch def/L exch def/W R L sub def/T T B sub defnewpath 9 W 20 div W {Wdiv 9 mul 1 add log W mul T moveto 0T neg rlineto} for S end



4-21. Примеры запрограммированных орнаментов

Изменяя параметры постскриптовского кода, можно порождать целое семейство орнаментов. На рис. 4-21 справа изображен орнамент, у которого по сравнению с исходным изменены значения толщины линии, угла наклона и количества линий.