Función initgraph Borland® C
void far initgraph(int far *driver, int far *modo, int far *path);
Esta función es usada para cargar o validar un dispositivo gráfico y cambiar el sistema de vídeo a modo gráfico. La función initgraph debe ser llamada antes de cualesquier funciones que generan una salida gráfica sean usadas.
Existen varios valores a ser usados para el argumento *driver. Si *driver es asignado a DETECT, ó 0, la función detectgraph es llamada, y un dispositivo y modo gráfico apropiados son seleccionados. Asignando a *driver cualquier otro valor predefinido inicia la carga del dispositivo gráfico correspondiente.
Existen varios valores a ser usados para el argumento *modo. Estos valores deberían corresponder al dispositivo especificado en el argumento *driver.
El argumento *path especificad el directorio donde los dispositivos gráficos están localizados. La función initgraph buscará el dispositivo primeramente en este directorio. Si no es encontrado, la función buscará en el directorio de inicio. Cuando el argumento *path es NULL, solamente el directorio de inicio es buscado.
Otra forma para evitar cargando el dispositivo desde el disco cada vez que el programa es ejecutado es ligarlo o enlazarlo al dispositivo apropiado en un programa ejecutable.
Valor de retorno:
La función initgraph no retorna ningún valor. Sin embargo, cuando la función initgraph es llamada, el código de error interno es activado. Si la función initgraph termina con éxito, el código es asignado un 0. Si no, el código es asignado así:
-2 | grNotDetected | La tarjeta gráfica no se encontró |
-3 | grFileNotFound | El fichero del dispositivo no se encontró |
-4 | grInvalidDriver | El fichero del dispositivo es inválido |
-5 | grNoLoadMem | No hay suficiente memoria para cargar el dispositivo |
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dónde se encuentra el dispositivo gráfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); circle( 300, 200, 80 ); getch(); /* Pausa */ closegraph(); return 0; }