Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

initgraph

initgraph


Функция            Инициализирует графическую систему.

Синтаксис          #include <graphics.h>
                   void far  initgraph(int  far  *graphdriver,
                    int far *graphmode, char far *pathtodriver)

Файл, содержащий   graphics.h
прототип

Описание           initgraph инициализирует графическую систему путем
                   загрузки  графического  драйвера  с   диска   (или
                   подтверждения                    работоспособности
                   зарегестрированного драйвера) и переводит  систему
                   в  графический  режим.

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

                   Если вы  указали  initgraph  автоопределение   она
                   вызывает   detectgraph   для  выбора  графического
                   драйвера     и     режима.     initgraph     также
                   переустанавливает  все  графические параметры в их
                   значения по умолчанию (текущая  позиция,  палитра,
                   цвет,  окно экрана,  и т.  д.) и переустанавливает
                   grapgresult  в  0.

                   Обычно initgraph  загружает  графический   драйвер
                   путем  выделения  памяти  для  драйвера (с помощью
                   функции     _graphgetmem),     затем     загружает
                   соответствующий    файл    .BGI    с    диска.   В
                   противоположность этой     схеме      динамической
                   загрузки, вы можете присоединить файл графического
                   драйвера    (или    несколько    таких     файлов)
                   непосредственно к   выполняемым  файлам.  Смотрите
                   более подробную  информацию  в   файле   UTIL.DOC,
                   который поставляется вместе с системой.

                   pathodriver определяeт    маршрут    по   которому
                   initgraph  будет  искать   графические   драйверы.
                   initgraph сначала ищет по маршруту,  определяемому
                   в pathtodriver,  затем ( если их там нет)  ищет  в
                   текущем каталоге. Следовательно, если pathtodriver
                   равен NULL,  файлы драйвера (*.BGI) должны быть  в
                   текущем каталоге. Таким же путем settexstyle будет
                   искать файлы (.CHR), содержащие шрифты.

                   *graphdriver -    целое,    которое     определяет
                   используемый графический драйвер. Вы можете задать
                   его значение,  используя константу graphics_driver
                   перечисляемого типа,  определенного в graphics.h и
                   показанного в таблице 2.3.

                   Таблица 2.3. Константы графических драйверов.
                   _____________________________________________
                   graphics_drivers
                   константа           численное значение
                   _____________________________________________

                   DETECT              0 (запрашивает
                                          автоопределе-
                                          ние драйвера)
                   CGA                 1
                   MCGA                2
                   EGA                 3
                   EGA64               4
                   EGAMONO             5
                   IBM8514             6
                   HERCMONO            7
                   ATT400              8
                   VGA                 9
                   PC3270              10
                   _____________________________________________

                   *graphmode - целое,  которое  определяет  исходный
                   графический  режим  (если  *graphdriver  не  равен
                   DETECT,  *graphmode  устанавливается  в  наивысшее
                   разрешение,  допустимое для данного драйвера).  Вы
                   можете  задать  значение   *graphmode,   используя
                   константу   перечисляемого   типа  graphics_modes,
                   определенную в graphics.h и приведенную в  таблице
                   2.5.
                       
                   Замечание: Значения graphdriver и graphmode должны
                   быть установлены в значения из таблиц 2.5  и  2.3,
                   иначе вы   получите   непредсказуемый   результат.
                   Исключение составляет    лишь    случай,     когда
                   graphdriver = DETECT.

                   В таблице 2.5,  элементы столбца "Палитра" C0, C1,
                   C2 и C3 относятся  к  четырем  ранее  определенным
                   четырехцветным палитрам,  действительным для CGA и
                   совместимых систем.  Вы можете выбрать  цвет  фона
                   (элемент #0),  но остальные цвета не меняются. Эти
                   палитры подробно описаны в главе 8 "Видео-функции"
                   в "Руководстве     программиста"     (в    разделе
                   "Управление цветом"),  и коротко описаны в таблице
                   2.4.
                      
    Таблица 2.4. Палитры цветов.
    -----------------------------------------------------------
    Номер         Константа присвоенная значению пиксела
    палитры          1               2               3
    -----------------------------------------------------------
         0     CGA_LIGHTGREEN   CGA_LIGHTRED       CGA_YELLOW
         1     CGA_LIGHTCYAN    CGA_LIGHTMAGENTA   CGA_WHITE
         2     CGA_GREEN        CGA_RED            CGA_BROWN
         3     CGA_CYAN         CGA_MAGENTA        CGA_LIGHTGRAY
    ------------------------------------------------------------
                                
                   После обращения    к    initgraph     *graphdriver
                   устанавливается  в текущий графический драйвер,  а
                   *graphmode в текущий графический режим.
                   
Таблица 2.5. Графические режимы.
--------------------------------------------------------------
Графическ.  graphics   Знач.  Колонок     Палитра  Страниц
драйвер     _modes            * столбцов
--------------------------------------------------------------
CGA         CGAC0       0     320 x 200   C0          1
            CGAC1       1     320 x 200   C1          1
            CGAC2       2     320 x 200   C2          1
            CGAC3       3     320 x 200   C3          1
            CGAHI       4     640 x 200   2цвета      1

MCGA        MCGAC0      0     320 x 200   C0          1
            MCGAC1      1     320 x 200   C1          1
            MCGAC2      2     320 x 200   C2          1
            MCGAC3      3     320 x 200   C3          1
            MCGAMED     4     640 x 200   2цвета      1
            MCGAHI      5     640 x 480   2цвета      1

EGA         EGALO       0     640 x 200   16цветов    4
            EGAHI       1     640 x 350   16цветов    2

EGA64       EGA64LO     0     640 x 200   16цветов    1
            EGA64HI     1     640 x 350   4 цвета     1

EGA-        EGAMONOHI   3     640 x 350   2 цвета     1*
MONO        EGAMONOHI   3     640 x 350   2 цвета     2**

HERC        HERCMONOHI  0     720 x 348   2 цвета     2

AT400       ATT400C0    0     320 x 200   C0          1
            ATT400C1    1     320 x 200   C1          1
            ATT400C2    2     320 x 200   C2          1
            ATT400C3    3     320 x 200   C3          1
            ATT400MED   4     640 x 200   2 цвета     1
            ATT400HI    5     640 x 400   2 цвета     1

VGA         VGALO       0     640 x 200   16цветов    2
            VGAMED      1     640 x 350   16цветов    2
            VGAHI       2     640 x 380   16цветов    1

PC3270      PC3270HI    0     720 x 350   2 цвета     1

IBM8514     IBM8514HI   0     640 x 480   256цветов
            IBM8514LO   0    1024 x 768   256цветов

 *  64К на плате EGAMONO
**  256К на плате EGAMONO
--------------------------------------------------------------

Возвращаемое       initgraph всегда  устанавливает   внутренний   код
значение           ошибки. В случае успешного выполнения код равен 0.
                   В случае же ошибки *graphdriver устанавливается  в
                   -2,  -3,  -4  или  -5,  и  graphresult  возвращает
                   соответствующие значения, перечисленные ниже:

                    -2 -  Не может определить тип графической
                          карты (grNotDetected).
                   
                    -3 -  Не может найти файл драйвера
                          (grFileNotFound).
                   
                    -4 -  Неправильный драйвер (grInvalidDriver).
                   
                    -5 -  Недостаточно памяти для загрузки
                          драйвера (grNoLoadMem).

Переносимость      Функция уникальна  для  Borland C++.  Она работает
                   только на компьютерах IBM PC и совместимых с ними,
                   оснащенных дисплейными адаптерами, поддерживающими
                   графический   режим.   Функция   не  совместима  с
                   Windows.

Смотри также       сlosegraph, detectgraph,        getdefaultpalette,
                   getdrivername,     getgraphmode,     getmoderange,
                   graphdefault,      _graphgetmem,      graphresult,
                   installuserdriver,              registerbgidriver,
                   registerbgifont,  restorecrtmode, setgraphbufsize,
                   setgraphmode

Пример:

#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();
   exit(1);  /* завершение с кодом ошибки */
}
line(0,0,getmaxx(),getmaxy());

getch();
closegraph();
return 0;
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог