Компьютерные и информационные технологии

Автор: Пользователь скрыл имя, 09 Марта 2012 в 22:44, курсовая работа

Описание работы

Цель технологии материального производства - выпуск продукции, удовлетворяющей потребности человека или системы.
Цель ИТ - производство информации для её анализа человеком и принятия на его основе решения по выполнению какого-либо действия.

Содержание

ВВЕДЕНИЕ……………………………………………………………………………5
1 ИЗУЧЕНИЕ ЯЗЫКА POSTSCRIPT………………………………………………….8
1.1 Основные понятия языка PostScript…………………………………………......8
1.2 Графика и текст в PostScript…………………………………………………12
1.3 Пример создания программы на языке PostScript………………………….14
2 СИСТЕМА КОМАНД ДЛЯ УПРАВЛЕНИЯ МАТРИЧНЫМ ПРИНТЕРОМ…….18
2.1 Основные понятия…………………………………………………………………18
2.2 Команды управления режимами печати…………………………………………22
2.3 Команды перемещения бумаги…………………………………………………...24
2.4 Работа с загружаемым знакогенератором………………………………………..26
2.4.1 Подготовка образов загружаемых символов для черновой печати……...26
2.4.2 Подготовка образов загружаемых символов для качественной печати...28
2.4.3 Команды работы с загружаемым знакогенератором……………………..29
3 ПРИЕМЫ НИЗКОУРОВНЕВОЙ РАБОТЫ С МЫШЬЮ…………………………..33
3.1 Структура мыши………………………………………………………………….33
3.2.Операции низкоуровневой работы с мышью………………………………….34
4. ЗАГРУЖАЕМЫЕ СИМВОЛЫ……………………………………………………….40
ВЫВОДЫ………………………………………………………………………………..43
Перечень ссылок…………………………………………………………………………44

Работа содержит 1 файл

Курсовой_КИТ.doc

— 311.00 Кб (Скачать)
:justify">Текущая страница – «идеальная»  страница в памяти, на которой рисует PostScript. Она не зависит от физических характеристик принтера, на который страница будет выводиться. В начале работы программы это совершенно чистая страница. Когда текущая страница полностью описана, она посылается на принтер, который распечатывает ее с таким качеством, которое способен обеспечить.

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

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

Набор символов. Все виды скобок (круглые, квадратные, фигурные, угловые) и знак процента являются для PostScript специальными знаками. Остальные символы - подмножество кода ASCII используются в программе без ограничений и называются регулярными символами.

Стек. PostScript резервирует для обрабатываемых данных часть памяти, именуемую стеком. Данные, помещаемые в стек, извлекаются из него в обратном порядке, т. е. последнее записанное туда число удаляется первым. Такая дисциплина обслуживания называется LIFO. На самом деле PostScript оперирует четырьмя различными стеками: операндов, словарей, выполнения и состояния графики.

Стек операндов – содержит собственно объекты PostScript и результаты действий над ними. Операторы PostScript получают операнды только через стек.

Типы данных. Как и другие распространенные языки программирования PostScript поддерживает различные типы данных, включая integer, real, boolean, массивы и строки. В нём определяются также объекты типа mark (отметка, метка) и dictionary (словарь). Примеры записи целых чисел:

  345  -87  38554  0  +57

Если величина числа превышает предел для представления целых чисел, оно автоматически конвертируется интерпретатором в число типа real. Примеры записи действительных чисел:

-2.0  12.3  2E-5  0.0  345.6e8  -.025

Беззнаковые целые числа могут быть записаны в любой из 35 систем счисления с использование префикса в виде:

              база#число

где:
база – основание системы счисления, десятичное целое число от 2 до 36;
число – представление числа в системе в указанной префиксом системе счисления. Цифры в системах счисления по основанию больше 10 представляются буквами латинского алфавита от A до Z. Например:

       16#cb2e 2#11001011  8#377

Строка – это последовательность символов, заключенная в круглые скобки.

Несмотря на большое количество встроенных операторов в PostScript нет зарезервированных слов. Любое слово переопределяемо. Программа в PostScript может рассматриваться как данные и это сближает его с языками типа Лисп.

Операции над данными в PostScript требуют, чтобы их операнды сначала были помещены в стек. Такой стиль программирования, при котором операнды задаются до операции над ними (оператора) называется постфиксной нотацией. Так запись операции сложения двух чисел, допустим 4+5, в PostScript будет выглядеть так:

4 5 add

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

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

Пространство пользователя может быть изменено тремя способами:

начало его системы координат может быть перенесено в любую точку пространства пользователя;

оси могут быть повернуты в любом направлении;

3. масштаб по каждой оси может быть произвольно изменен, т. е. может быть задано любое линейное преобразование из пространства пользователя в пространство устройства.

Элементы данных в языке PostScript называются объектами (числа, массивы, строки, символы). Над объектами можно производить различные действия, но если в других языках объекты помещаются в переменные и адресуются указанием имени переменной, то PostScript работает с данными напрямую, используя механизм стека.

Программы на PostScript записываются с использованием только печатаемых символов кода ASCII, что позволяет обращаться с ними, как с обычными файлами, т. е. не возникает никаких проблем при пересылке таких файлов по сетям.

Для отладки программ на PostScript удобно использовать программу RIP, хотя она и работает под DOS. Так как в разных моделях принтеров реализованы различные версии этого языка, то при выводе PostScript-программы на реальный принтер посмотрите его документацию. В частности иногда перед текстом примера следует поставить знак процента, за которым следует восклицательный знак, т. е. %!. Эта комбинация символов переключает на PostScript принтер, понимающий разные языки описания страниц (обычно ещё имеется PCL5).

 

1.2 Графика и текст в PostScript

 

Язык PostScript был разработан для получения графических изображений, для этого у него имеется большой набор операторов. Рисование в PostScript начинается с конструирования пути на идеальной поверхности, называемой текущей страницей. Путь – набор прямых и кривых линий, определяющих область, которая будет заполнена, или траекторию, которая будет нарисована на текущей странице. Конструируя путь, необходимо решить, что с ним делать: мы можем нарисовать линию заданной толщины или заполнить его, чтобы создать непрерывное изображение. После того, как заполнение текущей страницы закончено, ее можно распечатать на физическом листе бумаги.

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

Графические операторы PostScript выполняют свои действия в пространстве пользователя, или, иначе говоря, в пользовательской системе координат. Это пространство независимо от какого-либо физического устройства и результат работы операторов PostScript при печати автоматически преобразуется в систему координат устройства. Однако иногда бывает удобно изменить действующую по умолчанию систему координат. Можно, например, перенести в другое место начало координат, изменить ориентацию осей и масштабы по ним.

Перенесение начала координат. Для этой цели служит оператор translate. Он берет из стека два числа, и перемещает пространство пользователя в точку с этими новыми координатами. Например, строка:

     150 180 translate

переместит их начало координат в точку (150, 180). После этого все позиции на текущей странице будут отмеряться от этой точки.

До сих пор мы работали с графикой явным образом, меняя с помощью операторов ее состояние. Состояние графики – это набор данных, которые описывают, как операторы будут влиять на текущую страницу. Пара взаимодополняющих операторов, gsave и grestore, позволяют сохранить текущее состояние графики, а затем в нужный момент восстановить его. Это может потребоваться до и после использования оператора fill, который очищает текущую траекторию. Если нужно продолжить рисование из какой-либо точки заполняемой оттенком серого фигуры, то удобно просто восстановить состояние графики, сохраненное до выполнения fill.

Оператор gsave сохраняет копию текущего состояния графики в стеке состояния графики. Этот стек может хранить до 32-х состояний графики, включая текущее состояние. Оператор grestore восстанавливает состояние графики, сохраненное в стеке самым последним. Все характеристики текущего графического состояния, включая текущий путь, уровень серого цвета, ширину линии и систему пользовательских координат возвращаются в состояние, в котором они были перед выполнением оператора gsave.

В языке поддерживаются две цветовые модели: HSB (тон-насыщенность-яркость) и RGB (красный-зеленый-голубой). В каждой из этих моделей можно задать любой цвет с помощью трёх числовых параметров. В более простой модели RGB цвет задаётся сочетанием интенсивности трёх основных цветов: красного, зеленого и голубого. Интенсивность цвета задаётся числом в диапазоне от 0 до 1, причём 0 означает полное отсутствие данного цвета, а 1 – его максимальную интенсивность. Если для всех трёх цветов заданы равные интенсивности, то в результате получится чистый серый цвет с градацией по всей шкале от белого (0, 0, 0) до черного (1, 1, 1). Уровень серого цвета обычно устанавливается оператором setgray.

В HSB тон задаёт собственно цвет. Он определяется его расположением на цветовом круге: 0° - чистый красный, 120° - зелёный, 240° - синий. Остальные цвета получаются из смешения двух соседних. (Так, 60° -- жёлтый, , 180° - голубой, 300° - фиолетовый.) Насыщенность – густота цвета заданного тона: 0 соответствует отсутствию цвета, а 1 – максимальной его насыщенности. Яркость – общая интенсивность цвета (содержание белого цвета в данном цвете): 0 соответствует чёрному цвету, а 1 – белому (максимальной интенсивности). Цвет может быть задан с помощью соответствующих модели операторов setrgbcolor и sethsbcolor.

 

1.3 Пример создания программы на языке PostScript

 

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

Дом и такие элементы как ступеньки, окна, двери, крыша и т.д. были нарисованы с использованием оператора rlineto, который служит для перемещения, задаваемого не в абсолютных координатах, а в приращениях относительно текущей точки.

Пример из программы:

newpath %корпус дома

220 400 moveto

0 144 rlineto

144 0 rlineto

0 -144 rlineto

-144 0 rlineto

0.5 setgray

fill

Оператор newpath читает текущую страницу и объявляет, что начато рисование новой страницы. Конструирование пути начинается переносом воображаемого пера в заданную точку. Это перо при его переносах не оставляет "следа" на бумаге. Положение пера в каждый конкретный момент называется текущей точкой на текущем пути.

Оператор moveto переносит перо в точку, координаты которой заданы его операндами. Он извлекает из стека два числа и рассматривает их как координаты х и у точки, которая становится текущей. В системе координат, принятой в PostScript по умолчанию, начало координат находится в нижнем левом углу страницы. Координата х увеличивается вправо, а у – при движении вверх. Единица длины в этой системе равна 1/72 дюйма.

Оператор lineto добавит сегмент к текущему пути, рисуя линию между текущей точкой и точкой, координаты которой заданы его операндами. Точка, заданная как операнд lineto становиться текущей точкой. lineto в действительности не рисует ничего на текущей странице. Он просто добавляет сегмент линии к текущему пути. Позже эту линию можно будет нарисовать, но это не происходит автоматически.

Для заполнения квадрата, в нашем случае корпуса дома, служит оператор fill, который "заливает" квадрат серыми чернилами. Уровень серого цвета для заполнения фигуры задается аргументом оператора setgray – числом  в интервале от 0 (черный цвет) до 1 (белый).

Чтобы нарисовать желтое солнце, желтые шторы, красную крышу, зеленую траву использовался оператор setrgbcolor.

Трава была нарисована с помощью простого цикла с использованием оператора repeat:

newpath %трава

50 400 moveto

50 {

5 15 rlineto

5 -15 rlineto

}repeat

-280 0 rlineto

0 255 0 setrgbcolor

fill

В языке PostScript имеется три основных конструкции циклов: простой цикл, индексируемый цикл и условный цикл. Простой цикл реализуется с помощью оператора repeat, который берет из стека два операнда: счетчик цикла и повторяемую процедуру. Здесь всё достаточно прозрачно, непривычно, может быть, только то, что в качестве одного из аргументов выступает повторяемая процедура.

Индексируемый цикл напоминает широко известную по Бейсику конструкцию for... to... next. Оператор for берет из стека четыре операнда: начальное значение счетчика цикла, его приращение, конечное значение счетчика цикла и повторяемую процедуру. За исключением последнего операнда всё выглядит как и в обычной конструкции for. Следует учитывать, что непосредственно перед выполнением этой процедуры for помещает в стек текущее значение счетчика и, если он не используется, то его следует оттуда явным образом удалять. Вторая важная особенность for в том, что его операнды не обязательно должны быть целыми числами.

Условный цикл соответствует конструкции repeat...until в Паскале. Строится он из двух операторов: loop и exit. Опертор loop повторяет выполнение процедуры до тех пор, пока в ней не встретится оператор exit, который заканчивает циклическое выполнение, причем не только в конструкции loop, но и в for, repeat и forall. Если в повторяемой процедуре нет оператора exit, то цикл будет бесконечным.

Для печати текста использовался оператор show, был установлен шрифт Helvetica, цвет – синий:

/newsize {

scalefont setfont

}def

0 0 255 setrgbcolor

fill

Информация о работе Компьютерные и информационные технологии