Está en la página 1de 7

Aqu puedes encontrar recomendaciones y ayudas para utilizar el DEV-C++, instalar libreras, etc.

Programacin grafica en DEV-C++ usando la librera no estndar WINBGIM


Por: Carlos Fernando Jimnez Ultima actualizacin Septiembre 6 de 2006

La librera 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); moveto(0,0); lineto(50,50); while(!kbhit()); closegraph(); return 0; } // Abre una ventana grfica de 400x300 pixeles // Pone el cursor en 0,0 // Dibuja una lnea desde 0,0 hasta 50,50 // Espera a que el usuario presione una tecla // Cierra la ventana grfica

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

//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(); }

También podría gustarte