Sei sulla pagina 1di 5

!

6789*"

+,!

[ Programacin grfica en DEV-C++ usando la librera no estndar WINBGIM ]

"#$%!&'()*%!

!"#$$%&''((()*%+,-*.+/)0123-)4*3'4)%#%5"

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


Gua rpida

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 fcilitar 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 converta en un dolor de cabeza. Con el fin de facilitar el uso de esta librera se decidi 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(); 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 alrededor 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.

!"#$%&#'

()*+)' ,%-".)'"#'$%*$"/0'+#'123'4+'*)4%0' *)4%"5' 60**)'/)'7)#8)//)' (*)9)'"#)'/:#+)'4+54+'1;23;'<)58)' 1=23=' (*)9)'"#)'/:#+)'4+54+'/)'705%$%&#' )$8")/'4+'$"*50*'<)58)'123' ,%-".)'"#'7%1+/'+#'123'4+'$0/0*' $0/0*' ,%-".)'"#'*+$8>#?"/0'4+'+5@"%#)5' 8072/+A8'3'*%?<82'-0880B' C58)-/+$+'+/'$0/0*')$8")/D' E+80*#)'/)'$00*4+#)4)'1'4+/'F0"5+' *+/)8%G)')'/)'+5@"%#)'5"7+*%0*' %9@"%+*4)' E+80*#)'/)'$00*4+#)4)'3'4+/'F0"5+' *+/)8%G)')'/)'+5@"%#)'5"7+*%0*' %9@"%+*4)H'

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);'

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

Potrebbero piacerti anche