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