Titulo.jpg (10742 bytes)
FlechaDer.jpg (2886 bytes) casa.jpg (31539 bytes) FlechaIzq.jpg (2791 bytes)

Inicializacion de gráficos


Hasta aquí hemos trabajado en modo texto. Las pantallas de los monitores pueden trabajar tanto en modo texto como en modo gráfico, pero alternativamente. Algunas funciones texto actúan en modo gráfico, pero no lo contrario. Cuando encendemos el equipo este aparece inicialmente en modo texto.

Para llevar la computadora a modo gráfico deben realizarse un grupo de operaciones que detallamos a continuación:

void InicioGrafico()

{ int gdriver = DETECT, gmodo, coderror;

 

 

 

 

 

En la variable gdriver se va a almacenar el programa de control del monitor que existe en nuestro equipo.   Como veremos en la próxima instrucción si hacemos esa variable igual a DETECT que no es más que una constante de la biblioteca de C++ graph.h que al pasarse a la función initgraph () hace que ésta detecte automáticamente el tipo de tarjeta gráfica y de monitor que tenemos instalados en nuestro equipo.

Por su partir en la variable gmodo se va a almacenar el tipo de modo gráfico que vamos a utilizar como veremos en el próximo paso y en coderror si existe algún error durante el proceso de paso al modo gráfico.

initgraph(&gdriver, &gmodo,""); initgraph( , , ) es la función que permite inicializar el modo gráfico de la computadora.  Si se le pone como en este caso, gdriver = DETECT, detecta automáticamente qué tarjeta gráfica existe, y determina el programa de control del monitor (driver) a utilizar y el mejor modo gráfico que se empleará.

A initgraph( , , ) se le pasan los parámetros como referencia para que en ellos se almacen los valores del driver y del modo*.

El tercer parámetro permite indicar el camino donde se encuentran los driver, en este caso, que se pone una cadena vacía, se utiliza el directorio abierto en ese momento.

*El modo gráfico fija si vamos a usar colores o blanco y negro, si la pantalla tendrá 200 ó 400 puntos, y otros elementos de este tipo.

coderror = graphresult(); graphresult nos da el resultado de initgraph. Si en coderror se almacena grOk, nos indica que el monitor pasó a modo gráfico sin dificultades.  Si no es así nos devuelve el código del error que se ha detectado durante la inicialización del modo gráfico.

 

if (errorcode != grOk) 
{  printf("Existe un error en la instalacion grafica: %s\n",
    grapherrormsg(errorcode));
    printf("Presione una tecla para continuar:");
    getch();
}
Aquí, a no ser que errorcode == grOk, se imprime el tipo de error que se detectó
line(0, 0, getmaxx(), getmaxy()); Aquí se traza una línea diagonal a toda la pantalla. Se utiliza la función line() de C++ que tiene cuatro parámetros: los dos primeros ,el extremo izquierdo, y los otros, el extremo derecho de la linea a trazar.

Por su parte getmax() devuelve el mayor número de puntos que se pueden poner en el eje X o Y respectivamente.

getch();
closegraph();
}
La función closegraph() cierra el modo gráfico cuando se oprime una tecla.

Mientras que la función initgraph( , , ) no hace errorcode == grOk no se pueden utilizar ninguna de las restantes funciones gráficas.

La pantalla gráfica

arriba.jpg (2978 bytes) casa.jpg (31539 bytes)
Hosted by www.Geocities.ws

1