You are on page 1of 3

Programacin grafica en DEV-C++

lbrera winbgim.h a sido creada originalmente por Konstantin Knizhnik's winbgi shareware y
posteriormente modificada por Mark Richardson y Michael Main, esta librera tiene como objetivo
emular la librera graphics.h de Borland C++ y facilitar algunas funciones del Mouse. La ventaja
de esta librera es que nos permite crear aplicaciones grficas con compiladores GNU tales como
el ambiente de desarrollo Dev C++ de la misma manera como se crean en el compilador
comercial Borland C++.

Originalmente el autor nos ofreca una coleccin de archivos que se deban ubicar en carpetas
especiales e incluir ciertos comandos al la configuracin del linker y del compilador, esta
operacin tenia cierta complejidad y para muchos se convirti en un dolor de cabeza.
Con el fin de facilitar el uso de esta librera me tome la libertad de realizar un instalador para la
versin 4.9.9.2 del Dev C++ que realiza todas las configuraciones necesarias.
Ahora cada ves que queramos realizar un programa con soporte para grficos solo es necesario
seguir los siguientes pasos:
1 - Crear un nuevo proyecto


2 - Seleccionar una aplicacin de consola con grficos

Y listo!

A continuacin algunos ejemplos
Para iniciar el modo grfico se usa la funcin void initwindow (int width, int height);

Ejemplo:
initwindow(400,300); // Abre una ventana grfica de 400x300 color rgb
Para cerrar el modo grfico se usa la funcin closegraph();
4.9.9.2

Ejemplos

#include <winbgim.h>
int main()
{
initwindow(400,300); // Abre una ventana grfica de 400x300 pixeles
moveto(0,0); // Pone el cursor en 0,0
lineto(50,50); // Dibuja una lnea desde 0,0 hasta 50,50
while(!kbhit()); // Espera a que el usuario presione una tecla
closegraph(); // Cierra la ventana grfica
return 0;
}

Esta librera no solo soporta los 16 colores de la librera graphics.h de Borland mediante las
constantes BLACK BLUE GREEN CYAN RED MAGENTA BROWN LIGHTGRAY DARKGRAY
LIGHTBLUE LIGHTGREEN LIGHTCYAN LIGHTRED LIGHTMAGENTA YELLOW WHITE
sino que es posible usar colores rgb, lo cual nos da al rededor de 16 millones de colores
incrustando el macro COLOR(r,g,b) en donde originalmente estara el indicado el color.

El resto de las funciones grficas funcionan igual que en la librera original graphics.h y pueden
encontrarse en la ayuda del Turbo C++ de Borland o e cualquier manual de este mismo.

Funciones principales de la librera winbgim.h
Funcin Tarea
void circle (int x, int y, int radius); Dibuja un circulo en x,y de radio radius
void cleardevice (void); Borra la pantalla
void line (int x1, int y1, int x2, int y2); Traza una lnea desde x1,y1 hasta x2,y2
void lineto (int x, int y) Traza una lnea desde la posicin actual de cursor hasta x,y
void putpixel (int x, int y, int color); Dibuja un pixel en x,y de color color
void rectangle (int left, int top, int right, int bottom); Dibuja un rectangulo de esquenas top,left y right,bottom
void setcolor (int color); Establece el color actual.
int mousex(void)
Retorna la coordenada x del Mouse relativa a la esquina superior
izquierda
int mousey(void)
Retorna la coordenada y del Mouse relativa a la esquina superior
izquierda

//Ejemplo del uso de la librera winbgim
//Grfica de sen(x)
#include<winbgim.h>
#include<stdlib.h>
#include<math.h>
main()
{
const float pi=3.1415;
initwindow(640,480);
for (int x=0;x<640;x++)
putpixel(x,100+50*sin(2*pi*(float)x/640),WHITE);
system("pause");
closegraph();
}


//Ejemplo del uso de la librera winbgim
//Dibujo de un rectngulo, un circulo y un cuadrado
#include<winbgim.h>
#include<stdlib.h>
main()
{
initwindow(640,480);
circle(100,100,30);
moveto(50,50);
lineto(100,50);
lineto(100,100);
lineto(50,100);
lineto(50,50);
rectangle(100,100,200,200);
system("pause");
closegraph();
}




//Ejemplo del uso de la librera winbgim
//Dibujar con el mouse
#include<winbgim.h>
#include<stdlib.h>
#include<iostream.h>
main()
{
const float pi=3.1415;
initwindow(640,480);
int a=0,x,y;
while(a==0)
{
x=mousex( );
delay(1);
y=mousey( );
delay(1);
if (
lineto(x,y);

};

system("pause");
closegraph();
}




//Ejemplo del uso de la librera winbgim
//Pinta toda la pantalla con colores rgb
#include<winbgim.h>
#include<stdlib.h>
#include<iostream.h>
main()
{
int azul;
const float pi=3.1415;
cout << "Valor para el azul? ";
cin >> azul;
initwindow(255,255);
for (int y=1;y<255;y++)
for(int x=1;x<256;x++)
putpixel(x,y,COLOR(x,y,0));

system("pause");
closegraph();
}

You might also like