Estructura de un programa grafico en C
Las funciones que llevan a cabo los gráficos en C es permitir generar dibujos y presentaciones de los programas en general (es decir, la forma en que lucen al usuario). Las funciones de salida dependen del adaptador y del monitor que se esté utilizando.
El controlador seleccionado se carga desde el disco durante la inicialización de la biblioteca degráficos llamado initgraph(), y se necesita incluir la librería #include
Para activar el modo grafico un programa, éste debe de empezar llamando a la funcion initgraph(), que inicializa el paquete de gráficos BGI.
Para desactivar el modo grafico del programa se usa la función closegraph que implica la devolución al sistema de la memoria que se utilizaba para tener los controladores y lasfuentes graficas en uso.
En el modo gráfico existe una enorme cantidad de funciones que realizan desde la tarea mas sencilla como es pintar un píxel, hasta la tarea más compleja como pudiera ser dibujar un carácter por medio de trazos.
Para trabajar el modo gráfico es necesario incluir la librería graphics.h como hacer uso de la BGI (Borlan Graphics Interphase)
Para usar cualquier función esnecesario colocar el adaptador de video en modo grafico y esto se logra a través de la función initgraph(); y al terminares necesario regresar al modo original a través de la función closegraph();
Para iniciar un programa en ambiente gráfico es recomendable correr una subrutina de inicialización de gráficos y detección de errores.
Por ejemplo:
#include
#include
#include#include //Esta es la librería que nos permite usar gráficos.
void main()
{
int gdriver=DETECT, gmode, contador=0;
initgraph(&gdriver,&gmode,"C:\\BORLANDC\\BGI"); //Iniciamos el modo gráfico.
do
{
setcolor(random(15)); //Establecemos un color aleatorio
line(random(640),random(480),random(640),random(480)); //Establecemos coordenadas aleatorias.setcolor(random(15));
rectangle(random(640),random(480),random(640),random(480));
setcolor(random(15));
ellipse(random(640),random(480),0,360,random(100),random(100));
contador+=1; //Por cada vuelta incrementamos contador en 1.
if(contador%100==0) { cleardevice(); } //Si contador es múltiplo de 100, limpia la pantalla.
delay(100); //Establecemos un retardo de 100milisegundos al dibujar las figuras.
}
while(!kbhit()); //Si se pulsa alguna tecla, salimos del programa.
closegraph(); //Cerramos el modo gráfico.
}
Modalidades de Video
En la actualidad, prácticamente todas las tarjetas adaptadoras de video son de tipo VGA, siglas que significan Video Graphics Array, aunque no tardaron en rebautizar el término por éste otro: Video GraphicsAdaptor, de cualquier forma nos estamos refiriendo a la tarjeta controladora de video de la PC. Existen diferentes tipos de adaptadores de video,monocromos, de color de mediana resolución (CGA y MCGA), y de color de alta resolución(EGA y VGA). Para cada uno de los adaptadores de video existen diferentes modalidades de video que se utilizan para desplegar sea texto ó gráficos, ésta es la lista:
ModoResolución Tipo Adaptador
0h 40 x 25 B. y N. Alfanumérico CGA/EGA/VGA
1h 40 x 25 Color Alfanumérico CGA/EGA/VGA
2h 80 x 25 B. y N. Alfanumérico CGA/EGA/VGA
3h 80 x 25 Color Alfanumérico CGA/EGA/VGA
4h 320 x 200 Color Gráfico CGA/EGA/VGA
5h 320 x 200 B. y N. Gráfico CGA/EGA/VGA
6h 640 x 200 B. y N. Gráfico CGA/EGA/VGA
7h 80 x 25 B. y N. Alfanumérico EGA/VGA (mono)
13h 320 x 200 ColorGráfico EGA/VGA
14h 640 x 200 Color Gráfico EGA/VGA
15h 640 x 350 Color Gráfico EGA/VGA (mono)
16h 640 x 350 Color Gráfico EGA/VGA
Como podemos observar, es posible utilizar todas las modalidades de video si contamos con un adaptador de tipo VGA. Para el propósito de éste artículo, interesa en particular el modo de video 13h en el cual la pantalla tiene una resolución de 320 pixeles de ancho...
Regístrate para leer el documento completo.