Семь уроков по PostScript

         

Основные понятия



Основные понятия

Одной из причин, вызвавшей появление и расцвет языка PostScript является необходимость выводить текст и изображения на растровые внешние устройства: матричные, струйные и лазерные принтеры, а также экраны мониторов. Основное свойство таких устройств заключается в том, что изображение на них строится из массива прямоугольных элементов, называемых пикселами (от picture element - элемент изображения). Каждый пиксел имеет в этом массиве свой адрес - номер строки и номер столбца, где он расположен, а также цвет: у обычных матричных принтеров пикселы могут быть либо черного цвета, либо белого (в этом случае их часто называют точками); у лазерных принтеров пикселы имеют до 256 градаций серого цвета, у цветных мониторов - до сотен тысяч цветов. Устанавливая определенные пикселы в нужные цвета, мы получаем на экране текст и графические изображения.

Так как у каждого растрового устройства пикселы имеют физические размеры, зависящие, например, от размера печатающих иголок матричного принтера или сетки на экране монитора, то число элементов изображения на единицу длины (обычно дюйм) называется разрешением растрового выводного устройства. В зависимости от этой характеристики устройства делятся на устройства с низким, средним и высоким разрешением. Для лазерных принтеров это соответственно до 300, 300-600 и более 600 dpi (точек на дюйм). Для каждого типа устройств границы этих классов свои, так для 14" мониторов разрешение более 50 dpi будет уже высоким. Чем выше разрешение, тем лучше качество изображения.

PostScript-устройство (принтер, монитор) -- это устройство, в котором имеется интерпретатор языка PostScript. Интерпретатор PostScript принимает из компьютера текстовый файл с описанием страницы и преобразует его в растровую форму, которая и выводится на печать или на экран. (С этим и связана близкая к языку Форт структура PostScript -- она обеспечивает наименьший размер интерпретатора). Во время преобразования описания интерпретатор выполняет различные действия, зависящие от типа устройства. Так если на черно-белое печатающее устройство выводится полутоновое изображение, то интерпретатор PostScript этого устройство выполняет разбиение полутоновых областей на зоны с определенным уровнем серого цвета и заполняет каждую зону черными точками с плотностью, зависящей от этого уровня, что создает иллюзию полутонов на результирующем изображении.

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

(Однако с интерпретатором языка PostScript можно работать и на самом ПК как работаем мы с Бейсиком или любым другим языком. Есть различные реализации интерпретаторов PostScript, но лучше воспользоваться общедоступной программой Gnostscript, работающей как под DOS, так и в Windows. Её можно, в частности, поискать в Internet. )

Чтобы обеспечить независимость описания страницы от всего разнообразия внешних растровых устройств в языке PostScript введено понятие текущей страницы.

Текущая страница - "идеальная" страница в памяти, на которой рисует PostScript. Она не зависит от физических характеристик принтера, на который страница будет вводиться. В начале работы программы это совершенно чистая страница. Когда текущая страница полностью описана, она посылается на принтер, который распечатывает ее с таким качеством, которое способен обеспечить.

Текущий путь (current path) - это набор соединенных между собой отдельных точек, линий, кривых, которые вместе описывают фигуры и их положение. На текущий путь не накладывается никаких ограничений (он может пересекать сам себя и т. д.) Элементы текущего пути задаются их позициями на текущей странице.

Текущий путь обрезки (Current clipping path) -- это границы области, в которой может быть нарисовано изображение.



Содержание раздела