5
Programación grafica en DEV-C++ http://appletenhtml.blogspot.mx/2013/04/programacion- grafica-en-dev-c.html lbrerí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

Programación Grafica en DEV

Embed Size (px)

DESCRIPTION

Apuntes de programación grafica en lenguaje C

Citation preview

Page 1: Programación Grafica en DEV

Programación grafica en DEV-C++ http://appletenhtml.blogspot.mx/2013/04/programacion-grafica-en-dev-c.html

lbrerí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

Page 2: Programación Grafica en DEV

Y listo!

A continuación algunos ejemplosPara 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 rgbPara 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 pixelesmoveto(0,0);                         // Pone el cursor en 0,0lineto(50,50);                        // Dibuja una línea desde 0,0 hasta 50,50while(!kbhit());                    // Espera a que el usuario presione una teclaclosegraph();                       // Cierra la ventana gráficareturn 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 WHITEsino 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

Page 3: Programación Grafica en DEV

Función Tareavoid circle (int x, int y, int radius); Dibuja un circulo en x,y de radio radiusvoid cleardevice (void); Borra la pantallavoid line (int x1, int y1, int x2, int y2); Traza una línea desde x1,y1 hasta x2,y2void lineto (int x, int y) Traza una línea desde la posición actual de cursor hasta  x,yvoid putpixel (int x, int y, int color); Dibuja un pixel en x,y de color colorvoid rectangle (int left, int top, int right, int bottom); Dibuja un rectangulo de esquenas top,left y right,bottomvoid 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;

Page 4: Programación Grafica en DEV

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

Ejemplo ayado en:Programación grafica en DEV-C++ usando la librería no estándar WINBGIM: