Documentos de Académico
Documentos de Profesional
Documentos de Cultura
no estndar WINBGIM ]
Guarpida
[http://www.openboxer.260mb.com/c.php]
Julio
09
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:
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.
Funcin
Tarea
Dibujauncirculoenx,yderadio
radius
Borralapantalla
Trazaunalneadesdex1,y1hasta
x2,y2
Trazaunalneadesdelaposicin
actualdecursorhastax,y
Dibujaunpixelenx,ydecolor
color
Dibujaunrectngulodeesquinas
top,leftyright,bottom
Estableceelcoloractual.
int mousex(void);
RetornalacoordenadaxdelMouse
relativaalaesquinasuperior
izquierda
int mousey(void);
RetornalacoordenadaydelMouse
relativaalaesquinasuperior
izquierda>
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();
}