martes, 10 de noviembre de 2015

MODO GRAFICO 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!
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
 
EN ESTA OCACION PRETENDO ESPLICAR LO QUE ES EL MODO GRAFICO DE DEV C++ , CON ALGUNAS FUNCIONES BASICAS, TENEMOS QUE TENER INSTALADO WINBGIM, QUE ES EL MODO GRAFICO QUE USAREMOS PARA DEV C++.
BUENO PRIMERO QUE NADA ABRIMOS DEV C++. 
NOS DIRIJIMOS A FILE /New/Project.

SELECCIONAMOS  PROJECT  , AL MISMO TIEMPO NOS ABRIRA UNA VENTANA DE NEW PROJECT , SELECCIONAMOS CONSOLEGRAFICS Y DAMOS OK
ESCRIBIMOS EL NOMBRE DEL ARCHIVO Y SELECCIONAMOS LA UBICACION.  Y DAMOS EN GUARDAR.


BORRAMOS EL CODIGO QUE NOS APARECE MENOS LA LIBRERIA DE winbgim.h 
oprimimos la tecla F9 para copilarlo nos aparece una ventanapara guardar  el main en este caso yo eh elegido nombrarlo main2  , pero pueden poner el main 1 , por defecto o cualquier nombre.



BUENO AHORA EMPEZAREMOS A PROGRAMAR.
int main()   CON ESTO HACEMOS QUE INICIE NUESTRO PROGRAMA EN EL MODO GRAFICO ABRIMOS LLAVES  Y ESCRIBIREMOS LO SIGUIENTE.
con  initwindow(600,800);         // Abre una ventana gráfica de  600x800 pixeles    
con el while(!kbhit());   hacemos que la pantalla se mantenga abierta hasta que el usuario  presione una tecla.
cerramos llaves del programa.

acontinuacion escribimos entre el initwindow y el while .
outtextxy(12,300,"QUE ONDA ");  esta funcion nos permite ingresar texto   
su sintaxis es esta. outtextxy(int x,int y,"QUE ONDA ");  int x  , es el valor de la cordenada x , int y es el valor de la cordenada y.
ejecutamos el programa y quedara de la siguiente manera.

acontinuacion  haremos que  esa palabra tenga un tamaño , un tipo de letra y una posicion (orientacion.) con esta funcion
settextstyle(8,0,1);
settextstyle(LETRA,ORIENTACION,TAMAÑO DE LETRA);

EJECUTAMOS EL PROGRAMA Y QUEDARA ASI.
EN NUETRO CASO EL TAMAÑO A SIDO  8 POR LO QUE LA SINTAXIS ES ESTA.
settextstyle(8,0,8);
ACONTINUACION LE DAREMOS COLOR CON LA FUNCION setcolor(3);  (puede ser uno de los numeros permitidos , puede ser tambien con la palabra en ingles).
la sintaxis quedaria ahora asi
setcolor(3);
 settextstyle(8,0,8);
 outtextxy(12,300,"QUE ONDA ");
ejemplo de programa funcionando

ACONTINUACION INICIAREMOS CON LA CREACION DE ALGUNAS FIGURAS
lineto (int x, int y) Traza una línea desde la posición actual de cursor hasta  x,y  EJEMPLO:
lineto(100,100);                        // Dibuja una línea desde 0,0 hasta 100,100
 lineto(200,100);
 lineto(300,200);
 lineto(200,3);

en este caso inicia en la cordenada 0,0, ya que no hemos ubicado al cursor, ahora explicare primero el ejemplo con la localidad por default 0,0


ahora con la funcion:
moveto(60,60);                         // Pone el cursor en 60,60  cordenadas x,y
queda la sintaxys asi
moveto(60,60);                         // Pone el cursor en 60,60
 lineto(100,100);                        // Dibuja una línea desde 0,0 hasta 100,100
 lineto(200,100);
 lineto(300,200);
 lineto(200,3);

ejemplo del programa funcionando .

BUENO AHORA LES DEJO UN EJEMPLO DE UN ARCHIVO HECHO POR MI , ME DESPIDO .

FUENTE DE CONSULTA:
  • http://leviatan.blogcindario.com/2011/04/00003-dev-c-modo-grafico.html
  • http://appletenhtml.blogspot.com/2013/04/programacion-grafica-en-dev-c.html

No hay comentarios:

Publicar un comentario