ВУЗ:
Составители:
Рубрика:
ность экрана и количество цветов и должен поддерживаться видеоадаптером. Функции, использующиеся для инициализации и
деинициализации графического режима, а также для вывода информации на экран в графическом режиме, содержатся в заголо-
вочном файле
graphics.h.
Инициализация графического режима
Для этого используется функция initgraph, имеющая следующий синтаксис:
void far initgraph(int far *graphdriver, int far *graphmode, char far
*pathtodriver)
Функция
initgraph инициализирует графическую систему путем загрузки графического драйвера с диска и переводит
систему в графический режим.
Параметры функции:
– *
pathodriver – определяет маршрут, по которому initgraph будет искать графические драйверы (если строка пуста,
то поиск осуществляется в текущем каталоге);
–
*graphdriver – целое, которое определяет используемый графический драйвер;
– *graphmode – целое, которое определяет исходный графический режим (если *graphdriver не равен DETECT,
*graphmode устанавливается в наивысшее разрешение, допустимое для данного драйвера).
Возвращаемое
initgraph значение представляет собой код ошибки, который необходимо проанализировать, прежде чем
приступать к работе в графическом режиме. В случае успешного завершения код равен 0.
Закрытие графического режима
Закрытие графического режима осуществляется при помощи функции closegraph, имеющей следующий синтаксис:
void far closegraph(void).
Функция closegraph освобождает всю память, выделенную под графическую систему, затем восстанавливает экран в
режим, который был до вызова
initgraph.
Пример 7.1. Программа, инициализирующая и деинициализирующая графический режим (в программе использует-
ся автоопределение режима):
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int graphdriver = DETECT, gmode, errorcode;
initgraph(&graphdriver,&gmode,"");
errorcode = graphresult();
– получение результата инициализации
if(errorcode != grOk) – если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
return(1);
– завершение с кодом ошибки
}
line(0,0,getmaxx(),getmaxy()); – построение диагональной линии
getch();
closegraph();
return 0;
}
Основные функции работы с графикой
Функция Описание Пример
line
Рисует линию между двумя
точками (x1, y1) и (x2, y2)
line(x1,y1,x2,y2)
getmaxx
и
getmaxy
Возвращает максимальные
значения х и у для текуще-
го драйвера и режима
x_max=getmaxx()
и
y_max=getmaxy()
setcolor
Изменяет текущий цвет
рисования
setcolor(RED)
– установка
красного цвета
setbkcolor
Изменяет текущий цвет
фона
setbkcolor(GREEN)
outtextxy
Отображает строку текста в
окне экрана в заданной
позиции (x, y)
outtextxy(x,y,"Hello")