Capítulo 15 – Gráficos BGI
Los gráficos BGI, son gráficos para el modo DOS, que se pueden ejecutar
gracias a la librería BGI (Borland Graphics Interface).
Utilizar esta librería nativa del Borland C++, nos evita tener que estar
utilizando interrupciones al DOS escritas en ASM, que en mi experiencia
personal.....Jamás me funcionaron -;)
Además, basta con que incluyamos las librerías en la misma carpeta que
nuestra aplicación y quien lo reciba, podrá ver los gráficos sin ningún
problema.
Para poder utilizar los gráficos BGI en nuestras aplicaciones, debemos
incluir la librería graphics.h.
Veamos un pequeño ejemplo:
- Código: Seleccionar todo
#include <conio.h> //Librería para getch
#include <graphics.h> //Librería para gráficos BGI
void main()
{
int gdriver = VGA, gmode = VGAHI; //Parametros de inicialización
initgraph (&gdriver, &gmode, “c:\\borlan~1\\bgi”);
//El tercer parámetro debe ser la ruta exacta en formato DOS de la librería BGI
setcolor(RED); //Establecemos el color de la figura que vamos a crear
circle(300,250,50); //Creamos un circulo
setcolor(BLUE); //Establecemos el color de la figura que vamos a crear
circle(300,250,20); //Creamos un circulo
getch(); //Copiamos la pantalla
closegraph(); //Cerramos el modo gráfico
}
Analizando un poco este código, nos encontramos con algunos comandos
interesantes, que vale la pena explicar. Por ejemplo, el comando setcolor(),es el que le va a dar un color a nuestra imagen o figura. Recuerden que el nombre del color, debe ser escrito siempre en mayúsculas para que funciones sin errores. El otro comando, es circle(), que como nos hemos dado cuenta al momento de ejecutar la aplicación, crea un círculo. Sus tres parámetros representan (Coordena X, Coordenada Y, Radio). Es decir, especificamos su ubicación en el plano, y además cual es el Radio que va a tener, que como sabemos, a mayor Radio, mayor tamaño del círculo.
Por último, no debemos olvidarnos nunca del comando closegraph(), pues es el quien cierra la sesión en modo gráfico y nos permite continuar en modo DOS de así requerirlo.
Veamos ahora una pequeña lista de las figuras o imágenes que podemos
crear con la librería BGI:
- Código: Seleccionar todo
cleardevice() //Limpia la pantalla, reemplaza a clrscr() en BGI
setbkcolor() //Establece el color de fondo de la pantalla
setcolor(COLOR) //Establece el color de una imagen o figura
bar(int,int,int,int) //Dibuja una barra, à Izquierda,Arriba,Derecha,Abajo
bar3D //Dibuja una barra en formato 3D, con profundidad.
//à Izquierda,Arriba,Derecha,Abajo,profundidad,tope
circle(int,int,int) //Dibuja un círculo, àX, Y, Radio
line(int,int,int,int) //Dibuja una línea, àX1, Y1, X2, Y2
rectangle(int,int,int,int) //Dibuja un rectángulo à
Izquierda,Arriba,Derecha,Abajo
ellipse(int,int,int,int,int,int) //Dibuja una elipse à X, Y, Ángulo Inicial,
Ángulo Final, Radio de X, Radio de Y.
Ahora veamos cuales son los colores que tenemos disponibles:
- Código: Seleccionar todo
BLACK --> Negro
RED --> Rojo
BLUE --> Azul
MAGENTA --> Púrpura
GREEN --> Verde
BROWN --> Marrón
CYAN --> Matiz entre azul y verde
YELLOW --> Amarillo
LIGHTGRAY --> Gris Claro
DARKGRAY --> Gris Oscuro
LIGHTBLUE --> Azul Claro
LIGHTGREEN --> Verde Claro
LIGHTCYAN --> Matiz entre azul y verde, claro....
LIGHTRED --> Rojo Claro
WHITE --> Blanco
LIGHTMAGENTA --> Púrpura Claro
Ahora, supongamos que queremos escribir el nombre de nuestro juego o
programa...pero utilizando los vistosos gráficos BGI. Aquí tenemos un
pequeño ejemplo:
- Código: Seleccionar todo
#include <conio.h> //Librería para getch
#include <graphics.h> //Librería para gráficos BGI
void main()
{
int gdriver = VGA, gmode = VGAHI; //Parametros de inicialización
initgraph (&gdriver, &gmode, “c:\\borlan~1\\bgi”);
//El tercer parámetro debe ser la ruta exacta en formato DOS de la librería BGI
settextstyle(GOTHIC_FONT,HORIZ_DIR,24);
//Definimos el tipo de letra, la alineación y el tamaño
outtextxy(20,20,”Hola Mundo”);
//Especificamos las coordenas X, Y e imprimimos el mensaje
getch(); //Copiamos la pantalla
closegraph(); //Cerramos el modo gráfico
}