Sunteți pe pagina 1din 4

Programacin grafica en DEV-C++

http://appletenhtml.blogspot.mx/2013/04/programacion-grafica-endev-c.html
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);
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

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)

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

Ejemplo ayado en:


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

S-ar putea să vă placă și