Балтийский государственный технический университет «ВОЕНМЕХ» им. Д. Ф. Устинова
Кафедра информационных систем и технологий
Курсовая работа по программированию
Тема: «ООП»
Преподаватель: Козлов В. Р.
Выполнил: Суходоев П. Ю.
Группа: И-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 страница } |
|
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.