Tecnologia, Sistemas y Software
  C++ - winbgim.h
 
PROGRAMACION GRAFICA 2D EN LENGUAJE C++ CON ENTORNO DE DESARROLLO INTEGRADO WXDEV C++ 6.1



Como primer paso para iniciarce en la programacion grafica con C++ es necesario descargarse el siguiente archivo .exe el cual es el instalador del IDE wxDev C++ 6.1, existen otros entornos de desarrollo integrado para C++ como Code Blocks, Visual C++, Dev cpp, Borland C++, C++ Builder y muchos otros mas, pero el que mejor recomiendo  es el señalado en el siguiente link de descarga.

Descargar: http://downloads.sourceforge.net/wxdsgn/wxdevcpp_6.10.2_setup.exe 44.2 MB

Este IDE de C++ lo recomiendo por ser uno de los mas completos y mas faciles de utilizar. Es de uso exclusivo para iniciarce en la programacion con el lenguaje C++. Ademas que es un IDE que tiene compatibilidad con las librerias graficas a utilizar posteriormente.

Libreria winbgim.h

Descargar: www.4shared.com/file/165740561/98da51f0/Instalacin_de_la_librera_winbg.html 242 KB

Instalación de la librería

  1. Descomprime el archivo en cualquier directorio y verás que aparece el fichero Install Winbgim for  Dev C++.exe, le das doble click y le das click al botón Siguiente para continuar.
  2. Luego debes seleccionar el directorio donde tienes instalado el Dev-C++ en este caso lo instalaremos para wxDev-C++ le das click en Instalar y se iniciará el proceso de instalación:
  3. Una vez terminada la instalación nos indicara que le proceso ha sido exitoso. Click en Terminar para concluír esta parte.

      Prueba de la librería

1.     Abre el compilador, vas a Archivo -> Nuevo -> Proyecto y en la pestaña Basic seleccionas Console Graphics Application y das click en Aceptar.

2.     Se te presentará a continuación un código de ejemplo, el cual simplemente muestra como inicializar la librería.

3.     Presiona CTRL+S para guardar el archivo fuente mostrado. Luego presiona CTRL+F9 para compilar el programa, se presentará un cuadro indicandonos que la compilación ha sido exitosa, damos click en Cerrar.

4.     Por último presiona CTRL+F10 para ejecutar el programa, verás en pantalla un mensaje de colores que dice "Welcome to C++ graphics! Click this window to exit.", haz click con el mouse para salir.

      Consideraciones

1.     Dentro de este mismo proyecto, ve a Proyecto -> Opciones del Proyecto -> Parámetros, fíjate que en la ventana Linker tienes el siguiente código:

-lbgi -lgdi32 -luser32



Esto es necesario para poder usar las funciones de la librería winbgi y se añade en forma automática cuando creas un proyecto de tipo Console Graphics Application. Si creaste un proyecto de otro tipo y quieres usar esta librería, deberás añadir el código indicado anteriormente en la ventana Linker.

2.     Por último, debes saber que la librería conio y la winbgi no son compatibles entre si, no podrás usar las 2 a la vez en el mismo proyecto. Si usas la winbgi, debes asegurarte que no estés haciendo referencia a la conio, para ello:

o    Ve a Proyecto -> Opciones del Proyecto -> Parámetros, fíjate que en la ventana Linker no tengas algo como:

-lconio

o   

Si lo tienes debes borrarlo.

o    Ahora ve a Herramientas -> Opciones del compilador, en la ficha Compilador desactiva la casilla Añadir estos comandos a la línea de comandos del linker o borrar lo siguiente en caso de tenerlo:

-lconio

 

La librería winbgim.h a sido creada originalmente por Konstantin Knizhnik's winbgi shareware 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 se diseño el instalador para la versión 4.9.9.2 del Dev C++ que realiza todas las configuraciones necesarias, esta libreria tambien es compatible con el IDE wxDev C++ 6.1 que es una version de Dev C++ mas actual y moderna.


Una vez ya instalado y configurado el IDE
wxDev C++ 6.1 y la libreria winbgim nos ponemos manos a la obra, primero creamos un proyecto seleccionando la opcion de "Console Graphics" en el directorio que nos convenga y realizamos el siguiente ejemplo:


//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);//iniciamos la pantalla en modo grafico
circle(100,100,50);//debuja un circulo de radio 50
moveto(50,50);//punto inicial para dibujar una linea
lineto(100,50);//dibuja una linea hasta ese punto
lineto(100,100);
lineto(50,100);
lineto(50,50);
rectangle(200,200,100,100);//dibuja un rectangulo
system("pause");//para la ejecucion haciendo una pausa
closegraph();//cierra el modo grafico  
}

La libreria winbgim.h tiene bastantes funciones, por lo tanto explicar todo el contenido de esta libreria seria hasta que ya no ardan las velas. Por la tanto mencionaremos las funciones mas basicas de esta libreria:

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


Funcion line

Citar:

line(X1,X2,X3,X4);


Donde:

X1: Fila punto 1
X2: Columna punto 1
X3: Fila punto 2
X4: Columna punto 2

Esta funcion nos permite dibujar una linea, para eso necesita cuatro parametros, los cuales se utilizan para dibujar la linea.


Funcion circle:

circle(X1,X2,X3);

Donde:

X1: Fila (centro)
X2: Columna (centro)
X3: Radio del circulo


Como su nombre lo dice (Circle=Circulo), es una funcion que dibuja un circulo. Requiere tres parametros que representan la columna y el renglon respectivamente y el radio.


Funcion rectangle()

rectangle(X1,X2,X3,X4)

Donde:

X1: Fila del punto 1
X2: Columna del punto 1
X3: Fila del punto 2
X4: Columna del punto 2

Esta funcion nos dibuja un rectangulo basandose en el punto superior izquierdo(1) y en el punto inferior derecho(2).


Funcion ellipse()

ellipse(X1,X2,X3,X4,X5,X6);

Donde:

X1: Fila de la elipse(centro)
X2: Columna de la elipse(centro)
X3: Angulo inicial
X4: Angulo final
X5: Radio horizontal
X6: Radio vertical

Dibujara una especie de ovalo.

Funcion arc()

arc(X1,X2,X3,X4,X5);

Donde:

X1: Fila del arco(centro)
X2: Columna del arco(centro)
X3: Angulo inicial
X4: Angulo final
X5: Radio del arco

Requiere 5 argumentos para su funcionamiento. Dibujara un arco circular.

Funcion setlinestyle()

setlinestyle(X1,X2,X3);

Utilizada para deterrminar el tipo de linea que sera usada por el usuario. Requiere 3 argumentos. El primero es el que define el tipo de linea, soporta: CENTER_LINE, DOTTED_LINE,
DASHED_LINE, USERBIT_LINE o SOLID_LINE. El segundo es el patron y el tercero el ancho de la linea.

Funcion setcolor()

Se utiliza para definir el color de los trazos posteriores a su declaracion. Este solo utiliza un argumento, el cual representa el color.

0   ||   BLACK
1   ||   BLUE
2   ||   GREEN
3   ||   CYAN
4   ||   RED
5   ||   MAGENTA
6   ||   BROWN
7   ||   LIGHTGRAY
8   ||   DARKGRAY
9   ||   LIGHTBLUE
10 ||   LIGHTGREEN
11 ||   LIGHTCYAN
12 ||   LIGHTRED
13 ||   LIGHTMAGENTA
14 ||   YELLOW
15 ||   WHITE

Funcion outtextxy()

outtextxy(X1,X2,"X3");

Donde:

X1: Fila
X2: Columna
X3: Texto a salir


AUTOR: Ing Juan Pablo Arispe G.

 


 

 
 
  Hoy habia 1 visitantes (1 clics a subpáginas) ¡Aqui en esta página!  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis