Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тех прог.doc
Скачиваний:
13
Добавлен:
14.11.2019
Размер:
3.59 Mб
Скачать

Инициализация графики

Для перевода адаптера экрана в графический режим и загрузки соответствующего драйвера служит библиотечная функция initgraph. Ее прототип имеет вид:

void initgraph(int* GraphDriver, int* GraphMode, char* PathToDriver);

Графический драйвер ищется в каталоге, имя которого указано в аргументе PathToDriver. Если в указанном каталоге драйвер не найден, то просматривается текущий каталог. Если в качестве третьего аргумента указана пустая строка "", то просматривается только текущий каталог. Параметр GraphDriver указывает номер драйвера, GraphMode указывает номер графического режима, который должен быть установлен.

Если положить GraphDriver = 0 или библиотечной константе DETECT, то производится автоматическое распознавание графического адаптера, в память загружается соответствующий драйвер, устанавливается режим с максимальным разрешением, а переменным, указанным в аргументах GraphDriver и GraphMode, присваиваются значения, равные номеру драйвера и номера режима.

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

int graphresult(void);

после каждой графической операции. Результат, равный 0 (значение библиотечной константы grOk), означает удачное, а отрицательное значение – неудачное выполнение операции.

Для восстановления текстового режима служит функция:

void closegraph();

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

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

Функции рисования

Для рисования на экране имеется довольно много библиотечных функций, объявленных в заголовочном файле graphics.h. Рассмотрим некоторые.

Функция

int getcolor(void);

возвращает текущий цвет рисования. Всего для рисования доступно 16 цветов, они кодируются такими же константами, как в текстовом режиме, табл.43.

Функция

void setcolor(int color);

устанавливает новый цвет рисования color.

Функция

int getbkcolor(void);

возвращает текущий цвет фона.

Функция

void setbkcolor(int color);

устанавливает новый цвет фона color.

Функция

void putpixel(int x, int y, int color);

изображает на экране точку с координатами x, y цветом color.

Функция

void line(int x1, int y1, int x2, int y2);

рисует на экране отрезок прямой, соединяющий точки с координатами (x1, y1) и (x2, y2), используя текущий цвет, текущие стиль и толщину линий. По умолчанию текущим является белый цвет, текущим стилем – сплошная линия, а текущей толщиной – толщина в один пиксель.

Функция

void circle (int x, int y, int Radius);

изображает на экране окружность радиуса Radius с центром, имеющим координаты x, y.

Функции:

int getmaxx(void); int getmaxy(void);

возвращают максимальные координаты точек на экране соответственно в горизонтальном и вертикальном направлениях.