Основные концепции языка PostScript — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Основные концепции языка PostScript



Язык PostScript был разработан в 1984 в компании Adobe Systems. Основные задачи, с которыми сталкивались разработчики языка Джон Уорнок и Чак Гешке – стандартизация и неизменность выводимой информации вне зависимости от используемого оборудования и программных средств.

Язык Postscript является языком описания страниц. Все изображения и символы на странице задаются с помощью циклов, математических формул и объектов. Данная особенность описания изображения позволяет обеспечить независимость выводимого результата от оборудования и программного обеспечения, выводящего конечное изображение. В связи с этим и обуславливается высокая популярность языка у компаний, занимающихся типографией. Эти особенности языка позволяют компаниям не задумываться о несовместимости оборудования и программного обеспечения.

Стек.

Основа языка PostScript – стеки. Описание работы стека дается на примере работы монетницы.

Стек – это особая область памяти, организованная по принципу «последний вошел – первый вышел».

Постфиксная нотация.

Язык PostScript использует постфиксную нотацию (обратная запись). Смысл такого способа записи состоит в том, что сначала записываются операнды, затем – операторы.

 

Единицы измерения.

PostScript использует свою единицу измерения – пункт (point), обозначаемую пт (pt). В одном стандартном дюйме (inch) помещается 72 пункта (pt).

В качестве угловой меры в PostScript используется градус (полная окружность = 360 градусов). Положительное направление углов – против часовой стрелки.

 

Структура PostScript – программы.

PostScript – программа имеет в своем составе некие начальные и конечные служебные операторы, и собственно операторы рисования, между ними заключенные. Специальные комментарии начинаются с начала строки и имеют два символа %. Вот типичный пример структуры многостраничного ps-файла:

%!PS-Adobe-3.0 – указание на то, что это PostScript файл

%%Title: - название проекта

%%Creator: - создатель файла

%%CreationDate: - дата и время создания

%%For: - указание для кого создан файл

%%Copyright: - фирма или автор, имеющий права на файл

%%Document fonts: - имена используемых фонтов

%%BoundingBox: - размер страницы

%%Pages: - число странниц

%%EndComments

%%BeginProcSet

текст процедур

%%EndProcSet

%%EndProlog

%%Page 1 1

команды описания первой страницы

showpage – указание интерпретатору, что больше команд не будет и страница полностью описана, и приказывает начать переводить описание в изображение

%%Page 2 2

команды описания второй страницы

showpage

%%Trailer



%%EOF


 

Операторы языка PostScript

Арифметические операторы

Математические вычисления – очень важная часть языка Postscript, но не самая главная. Арифметические операторы ничего не рисуют, но позволяют рассчитать особенно сложные участки изображения, позволяют производить расчёты сложных траекторий, выстраивать зависимости одной части изображения от другой и множество прочих расчётных операций.

add – вынимает два числа из стека, складывает их и возвращает их сумму;

sub - вынимает два числа из стека, вычитает их и возвращает их разность;

mul - вынимает два числа из стека, умножает их и возвращает их произведение;

div - вынимает два числа из стека, делит их и возвращает их частное.

 

Графические операторы

Векторная графика всегда задается по координатам точек и отрезков. К координатам можно применять любые математические операции и значит эффективно изменять уже готовые рисунок. Ключевым понятием в PostScript является понятие траектории или контура. Контур делит плоскость рисунка на две части, слева и справа от себя. Контур можно обвести разными способами, замкнутый контур можно закрасить, контуром можно выделить часть нарисованной области. По этой причине в PostScript сначала задается контур, как объект. А уже потом специальные команды указывают, что с ними нужно делать.

 

Начало нового пути.

Графические построения состоят из нескольких этапов:

- инициализация нового графического пути;

- построение графического пути с помощью графических операторов;

- определение типа линии;

- прорисовка линии вдоль построенного пути.

Оператор newpath начинает новый путь. Открывает новую траекторию как объект, курсор остается на месте.

 

Завершение пути.

После построения пути вдоль него может быть проведена линия. Это осуществляет оператор stroke. Путь, кроме того, можно «закрыть», при этом от текущей точки до первой определенной в пути точки проводится прямая линия. «Закрывает» путь оператор closepath и траектория становится замкнутой.



 

Смещение текущей точки.

Смещение текущей точки можно произвести двумя способами:

- moveto смещает текущую точку в точку с указанными координатами (x,y);

- rmoveto смещает текущую точку по вектору с указанными координатами (dx, dy).

Оператор начинающийся с буквы r, означает, что передаваемые ему координаты считаются не от начала координат, а от текущей точки.

 

Построение прямой линии.

Построение прямой линии можно произвести двумя способами:

- lineto проводит прямую линию от текущей точки в точку с указанными координатами;

- rlineto проводит прямую линию от текущей точки в точку, отстоящую от нее на указанном расстоянии по горизонтали dx и по вертикали dy (по вектору с указанными координатами).

После выполнения этих команд, последняя точка прямой линии становится текущей точки.

 

Построение дуги окружности.

Дуга окружности, или окружность, строится оператором arc.

Синтаксис: x0 y0 R a1 a2 arc.

x0 y0 – координаты центра окружности;

R – радиус окружности;

a1 a2 – начальный и конечный угол дуги окружности (0..360).

Угол 0 совпадает с положительным направлением оси ОХ. Особенность оператора: если текущая точка пути определена, то от нее до начальной точки дуги проводится прямая линия. После построения дуги, последняя ее точка становится текущей. Дуга всегда рисуется против часовой стрелки, независимо от соответствия углов друг другу.

 

Свойства линии.

У линии можно задать несколько свойств: толщину, скругленность хвостиков, пунктирность, цвет и т.д. Толщину линии можно задать оператором setlinewidth, пунктирность оператором setdash, серость оператором setgray.

 

Смещение начала координат.

При открытии страницы начало координат находится в левом нижнем углу. Оператор translate смещает начало координат в указанную точку.

 

Поворот координат.

Оператор rotate поворачивает систему координат на произвольный угол (положительное направление – против часовой стрелки).

 






Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...





© cyberpedia.su 2017-2020 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав

0.009 с.