Программирование на C и C++

Онлайн справочник программиста на C и C++

initgraph

void far initgraph(int far *driver, int far *mode, char far *path)

Прототип: 
Описание: 

Функция initgraph() используется для инициализации графической системы и загрузки подхо­дящего графического драйвера. Функция initgraph() загружает в память графический драйвер, соответствующий номеру, на который указывает параметр driver. Без графического драйвера, загруженного в память, никакие графические функции не могут выполняться. Используемый гра­фическими функциями видеорежим задается в виде числа, на которое указывает параметр mode. Наконец, путь к драйверу может быть задан в строке path. Если не задан никакой путь, то поиск осуществляется в текущем каталоге.

Графические драйверы содержатся в файлах с расширением BGI, которые должны находиться в распоряжении системы. Тем не менее нет причины беспокоиться о фактическом имени файла, поскольку достаточно задать драйвер его номером. В файле graphics.h содержатся несколько мак­росов, используемых для этих целей:

Макрос Эквивалент
DETECT 0
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMONO 5
IBM8514 6
HERCMONO 7
ATT400 8
VGA 9
PC3270 10

При использовании DETECT функция initgraph() автоматически определяет тип видеоустрой­ства системы и определяет видеорежим с наибольшим разрешением. В этом случае по возвраще­нии функции параметр driver будет содержать видеодрайвер.

Значение параметра mode должно совпадать с одним из приведенных ниже. Следует обратить внимание, что значение, на которое указывает параметр mode, не является той же самой величи­ной, что была определена с помощью процедуры BIOS. Вместо этого величина, использовавшаяся при вызове BIOS для инициализации видеорежима, была создана функцией initgraph(), исполь­зуя как драйвер, так и режим.

Драйвер  Режим     Эквивалент     Разрешение
CGA CGAC0
CGAC1
CGAC2
CGAC3
CGAHI
0
1
2
3
4
320x200
320x200
320x200
320x200
640x200
MCGA MCGAC0
MCGAC1
MCGAC2
MCGAC3
MCGAMED
MCGAHI
0
1
2
3
4
5
320x200
320x200
320x200
320x200
640x200
640x480
EGA EGALO
EGAHI
0
1
640x200
640x350
EGA64 EGA64LO
EGA64HI
0
1
640x200
640x350
EGAMONO EGAMONOHI 3 640x350
HERC HERCMONOHI 0 720x348
ATT400 ATT400C0
ATT400C1
ATT400C2
ATT400C3
ATT400MED
ATT400HI
0
1
2
3
4
5
320x200
320x200
320x200
320x200
640x200
640x400
VGA VGALO
VGAMED
VGAHI
0
1
2
640x200
640x350
640x480
PC3270 PC3270HI 0 720x350
IBM8514 IBM8514HI
IBM8514LO
1
0
1024x768
640x480

 

Пример: