Вывод векторного изображения в формате Postscript

Вывод векторного изображения в формате Postscript

Отчет по производственной и преддипломной практикам

Студент гр. з-92П

Кондрашов С.С.

«___»___________ 201_ г.

Руководитель

Доцент каф. АСУ

канд. техн. наук

Алферов С.М.

«____»___________ 201_ г.

Томск 2017

Оглавление

Введение. 3

1 Актуальность автоматизации генерации изображения (задачи) 4

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

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

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

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

3.3 Операторы изображения текстов. 15

3.4 Операторы циклов и условные операторы.. 15

Заключение. 17

Список использованных источников. 18

Введение

В современном мире все меньше операций производится вручную. А ту немногую часть операций, что еще не автоматизирована, пытаются облегчить для конечного пользователя. Это же касается и графических изображений. Есть мощные комбайны, такие как Adobe Photoshop, Corel Draw, Auto CAD. Но эти гиганты хороши для общего использования, но есть некоторые узкоспециализированные задачи, для которых намного удобнее и проще использовать утилиты, предназначенные для конкретной задачи. На многих предприятиях есть необходимость в создании похожих изображений, которые отличаются только некоторыми входными данными. И стандартные графические пакеты мало подходят для этих задач, так-как малейшее изменение некоторых входных данных приводит к необходимости полной перерисовки исходного изображения. К подобной ситуации можно отнести и предприятия, которые занимаются производством измерительных приборов. К примеру, при отрисовке циферблата для манометра необходима исключительная точность, и даже небольшое изменение некоторых данных приводит к необходимости полной перерисовки в стандартном графическом пакете, к примеру в Auto CAD. Именно поэтому и возникает необходимость в инструменте, который позволял бы автоматически генерировать заданное изображение без необходимости ручной отрисовки.

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

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

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

Стек.

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

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

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

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

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

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

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

Операторы языка 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 поворачивает систему координат на произвольный угол (положительное направление – против часовой стрелки).

Заключение

В ходе прохождения практики был изучен язык разметки страниц Postscript. На примере была доказана целесообразность использования данного языка для автоматизации процесса генерации изображения циферблата манометра.

Вывод векторного изображения в формате Postscript

Отчет по производственной и преддипломной практикам

Студент гр. з-92П

Кондрашов С.С.

«___»___________ 201_ г.

Руководитель

Доцент каф. АСУ

канд. техн. наук

Алферов С.М.

«____»___________ 201_ г.

Томск 2017

Оглавление

Введение. 3

1 Актуальность автоматизации генерации изображения (задачи) 4

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

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

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

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

3.3 Операторы изображения текстов. 15

3.4 Операторы циклов и условные операторы.. 15

Заключение. 17

Список использованных источников. 18

Введение

В современном мире все меньше операций производится вручную. А ту немногую часть операций, что еще не автоматизирована, пытаются облегчить для конечного пользователя. Это же касается и графических изображений. Есть мощные комбайны, такие как Adobe Photoshop, Corel Draw, Auto CAD. Но эти гиганты хороши для общего использования, но есть некоторые узкоспециализированные задачи, для которых намного удобнее и проще использовать утилиты, предназначенные для конкретной задачи. На многих предприятиях есть необходимость в создании похожих изображений, которые отличаются только некоторыми входными данными. И стандартные графические пакеты мало подходят для этих задач, так-как малейшее изменение некоторых входных данных приводит к необходимости полной перерисовки исходного изображения. К подобной ситуации можно отнести и предприятия, которые занимаются производством измерительных приборов. К примеру, при отрисовке циферблата для манометра необходима исключительная точность, и даже небольшое изменение некоторых данных приводит к необходимости полной перерисовки в стандартном графическом пакете, к примеру в Auto CAD. Именно поэтому и возникает необходимость в инструменте, который позволял бы автоматически генерировать заданное изображение без необходимости ручной отрисовки.

Наши рекомендации