Объектно-ориентированное программирование. Модуль Graph

Страницы работы

Содержание работы

Балтийский государственный технический университет «ВОЕНМЕХ» им. Д. Ф. Устинова

Кафедра информационных систем и технологий

Курсовая работа по программированию

Тема: «ООП»

Преподаватель: Козлов В. Р.          

  Выполнил: Суходоев П. Ю.

 Группа: И-351

Санкт-Петербург

2006 год.

Тема реферата.

Модуль Graph

Модуль Graph представляет собой мощную библиотеку графических подпрограмм универсального назначения, рассчитанную на работу с наиболее распространенными графическими адаптерами IBM-совместимых ПК. Подпрограммы модуля Graph обеспечивают различные режимы работы многорежимных адаптеров, полностью используют их цветовые возможности и разрешающую способность.

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

Графические драйверы поддерживают следующие графические адаптеры (и полностью совместимые с ними):

CGA

Hercules

MCGA

AT&T 400

EGA

3270 PC

VGA

IBM-8514

Для поддержки этих аппаратных средств используются следующие драйверы:

CGA.BGI

Драйвер для CGA, MCGA

EGAVGA.BGI

Драйвер для EGA, VGA

HERC . BGI

Драйвер для монохромного Hercules

ATT . BGI

Драйвер для AT&T 6300 (400 строк)

PC3270.BGI

Драйвер для IBM 3270 PC

IBM8514.BGI

Драйвер для IBM 8514

Во время выполнения программы процедура InitGraph автоматически распознает графический адаптер, установленный на ПК, загружает и инициализирует соответствующий графический драйвер, переводит адаптер в графический режим и возвращает управление вызывающей программе. Процедура CloseGraph выгружает драйвер из памяти и восстанавливает текстовый режим работы адаптера.

Подпрограммы модуля Graph позволяют адресоваться к любому элементу (пикселю) растрового графического экрана и управлять светимостью этого элемента. Для указания пикселя используется следующая система координат: верхний левый угол графического экрана имеет координаты 0,0; горизонтальная координата X увеличивается слева направо, вертикальная координата У увеличивается сверху вниз. Например, в режиме 640x480 (адаптер VGA) правый нижний угол экрана имеет координаты 639, 479, а центр экрана -координаты 319,239.

Некоторые графические подпрограммы используют понятие текущего указателя. Указатель содержит координаты того пикселя, начиная с которого будет строиться изображение подпрограммами LineTo, LineRel, OutText и др. В этом смысле указатель подобен текстовому курсору, но, в отличие от него, не имеет видимого изображения на экране.

Для вывода текстовых сообщений на графический экран модуль Graph предоставляет один матричный и 4 штриховых шрифтов. Каждый символ матричного шрифта на экране реализуется в виде матрицы из 8x8 пикселей. Штриховые шрифты для каждого символа определяют набор штрихов (векторов), с помощью которых на экране создается (вычерчивается) соответствующий символ. Штриховые шрифты позволяют изменять размеры текстовых надписей в широких пределах без существенного ухудшения качества изображения символов. Однако стандартные штриховые шрифты не содержат символы кириллицы.

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

Процедура SetViewPort создает на экране графическое окно. Если окно определено, весь дальнейший графический вывод осуществляется относительно координат этого окна и отсекается его границами.

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

Константы

Константы задания драйверов и режимов работы

const

Detect =

0;

CGA =

1;

MCGA =

2;

EGA =

3;

EGA64 =

4;

EGAMono =

5;

IBM8514 =

6;

HercMono =

7;

ATT400 =

8;

VGA =

9;

PC3270 =

10;

CurrentDriver = -128 ;

{Передается в GetModeRange}

CGAC0 = 0;

{320x200;

палитра 0; 1

страница }

CGAC1 = 1;

{320x200;

палитра 1 ; 1

страница }

CGAC2 = 2;

{320x200;

палитра 2 ; 1

страница }

CGAC3 = 3;

{320x200;

палитра 3; 1

страница }

CGAHi = 4;

{640x200;

1 страница }

Похожие материалы

Информация о работе