Programación grafica en DEV-C++



La librería winbgim.h a sido creada originalmente por Konstantin Knizhnik's winbgi shareware y posteriormente modificada por Mark Richardson y Michael Main, esta librería tiene como objetivo emular la librería graphics.h de Borland C++ y facilitar algunas funciones del Mouse. La ventaja de esta librería es que nos permite crear aplicaciones gráficas 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 ofrecía una colección de archivos que se debían ubicar en carpetas especiales e incluir ciertos comandos al la configuración del linker y del compilador, esta operación tenia cierta complejidad y para muchos se convirtió en un dolor de cabeza.


Con el fin de facilitar el uso de esta librería me tome la libertad de realizar un instalador para la versión 4.9.9.2 del Dev C++ que realiza todas las configuraciones necesarias.


Ahora cada ves que queramos realizar un programa con soporte para gráficos solo es necesario seguir los siguientes pasos:


1 - Crear un nuevo proyecto


2 - Seleccionar una aplicación de consola con gráficos


Y listo!






A continuación algunos ejemplos


Para iniciar el modo gráfico se usa la función void initwindow (int width, int height);






Ejemplo:


initwindow(400,300); // Abre una ventana gráfica de 400x300 color rgb


Para cerrar el modo gráfico se usa la función closegraph();


4.9.9.2






Ejemplos






#include <winbgim.h>


int main()


{


initwindow(400,300); // Abre una ventana gráfica de 400x300 pixeles


moveto(0,0); // Pone el cursor en 0,0


lineto(50,50); // Dibuja una línea desde 0,0 hasta 50,50


while(!kbhit()); // Espera a que el usuario presione una tecla


closegraph(); // Cierra la ventana gráfica


return 0;


}












Esta librería no solo soporta los 16 colores de la librería 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 estaría el indicado el color.






El resto de las funciones gráficas funcionan igual que en la librería 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 librería winbgim.h



Función

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 línea desde x1,y1 hasta x2,y2


void lineto (int x, int y)

Traza una línea desde la posición 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 librería winbgim


//Gráfica 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 librería winbgim


//Dibujo de un rectángulo, 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 librería 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 librería 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


En caso no cuentes con el DEV-C++ puedes descargarlo por este medio:


Descargar Dev c++



Otras opción que tienes es descargar los ejemplos>


Programación grafica en DEV-C++ 



















C++



Comentarios

Entradas más populares de este blog

Ejemplo de suma Pascal

Solucion al error collation desconocida: 'utf8mb4_0900_ai_ci'