Sunteți pe pagina 1din 8

Gráficos en wxDevCpp Por M.Sc.

Irma Prado

Instalación de wxDevCpp:

Debe descargar wxDevCpp de acuerdo a al sistema operativo que tiene instalado en la


máquina. Por ejemplo, wxDevCpp para Windows 7 de 64 bits de la siguiente dirección:

http://dis.unal.edu.co/~programacion/language/c/devcpp-4.9.9.2_setup.exe

luego se necesita instalar la librería winbgim.h. Descargue e instale el archivo de la sgte


dirección:

http://www.mediafire.com/?u41jml5n0n7tvtv

Ahora cada vez que quiera 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


Gráficos en wxDevCpp Por M.Sc. Irma Prado

Inicialmente aparece en pantalla un ejemplo en modo gráfico del manejo del mouse,
cambie el código o puede crear otro archivo vacío del mismo proyecto

Ejemplos

#include <winbgim.h>
using namespace std;
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
circle(250,150,30); //dibuja un circulo en la columna250,fila150, con radio de 30
while(!kbhit()); // Espera a que el usuario presione una tecla
closegraph(); // Cierra la ventana gráfica
return 0;
}

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
Gráficos en wxDevCpp Por M.Sc. Irma Prado

Traza una línea desde la posición actual de


void lineto (int x, int y)
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 Dibuja un rectangulo de esquenas top,left y
bottom); right,bottom
void setcolor (int color); Establece el color actual.
Retorna la coordenada x del Mouse relativa
int mousex(void)
a la esquina superior izquierda
Retorna la coordenada y del Mouse relativa
int mousey(void)
a la esquina superior izquierda

Para mayor información, consulte la guía de gráficos en TC, publicada en el aula virtual, ya
que las sentencias de gráficos son las mismas.

//Ejemplo del uso de la librería winbgim


//Gráfica de sen(x)
#include<winbgim.h>
#include<stdlib.h>
#include<math.h>
using namespace std;

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

Otro 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>
Using namespace std;

main()
Gráficos en wxDevCpp Por M.Sc. Irma Prado

{
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:

//Ejemplo del uso de la librería winbgim


//Dibujar con el mouse
#include<winbgim.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
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 (sw==0) {moveto(x,y);
sw=1;}
lineto(x,y);
};
system("pause");
closegraph();
}

Ejemplo.-
Gráficos en wxDevCpp Por M.Sc. Irma Prado

//Ejemplo del uso de la librería winbgim


//Pinta toda la pantalla con colores rgb
#include<winbgim.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
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();
}

Ejemplo:
//-------------------------------------------------------------------------
#include<winbgim.h>
#include<stdlib.h>
#include<iostream>
///varios circulos
using namespace std;
main()
{
int n,r=50;
cout << "total de circulos? ";
cin >> n;
initwindow(400,400);
setcolor(4);
settextstyle(3,0,4);
outtextxy(10,50,"circulos concentricos");
for (int y=1;y<=n;y++)
{ setcolor(y);
circle(200,200,r);
r=r+30;
}
system("pause");
closegraph();
Gráficos en wxDevCpp Por M.Sc. Irma Prado

Ejemplo:

#include<winbgim.h>
#include<iostream>
#include<math.h>
using namespace std;
main()
{
//universo
initwindow(400,400);
for (int y=1;y<=500;y++)
{
putpixel(random(399),random(399),random(15));
}
while(!kbhit());
closegraph();
}

Ejemplo:

//---------------------------------------------------------------------------------
#include<winbgim.h>
#include<stdlib.h>
#include<iostream>
//programa oara graficar una recta y=x+5
using namespace std;
main()
{

initwindow(400,400);
//eje x e y
int y,x1,y1;
setcolor(9);
moveto(200,0);
lineto(200,400);
moveto(0,200);
lineto(400,200);
//el centro en la pantalla es 200,200
setcolor(2);
for (int x=-100;x<=100;x++)
Gráficos en wxDevCpp Por M.Sc. Irma Prado

{
y=x+5;
if (x==-100) moveto(x+200,200-y); //ubica el cursor en la primera posicion
lineto(x+200,200-y);
}
while(!kbhit());
closegraph();
}

Ejemplo (especial para el proyecto)

#include <winbgim.h>
#include<iostream>
/* programa util para el ahorcado*/
using namespace std;
int main()
{ int ventana_g1;
int opcion=0;
initwindow(500,500); //habilitamos una ventana de graficos
ventana_g1=getgraphmode();
setwindowtitle("Ventana menu de opciones ");
do{
clearviewport(); //limpia la ventana de graficos
settextstyle(0,0,3);
setcolor(RED);
outtextxy(30,50,"Graficos");
setcolor(GREEN);
outtextxy(20,90,"1.-Rectangulo");
outtextxy(20,120,"2.-Circulo");
outtextxy(20,150,"3.-Salir");
settextstyle(0,0,2);
setcolor(RED);
outtextxy(20,180,"Su opcion?");
delay(100);
restorecrtmode();//regresamos a la pantalla de texto para recibir el dato
cin>>opcion;

switch (opcion){
case 1: setgraphmode(ventana_g1); //regresamos a la ventana de graficos
Gráficos en wxDevCpp Por M.Sc. Irma Prado

setcolor(RED);
outtextxy(200,180,"1");
setcolor(BLUE);
setlinestyle(3,2,4);
rectangle(50,250,430,450);
setcolor(MAGENTA);
outtextxy(150,230,"RECTANGULO");
settextstyle(0,0,1);
delay(100);
// outtextxy(20,470,"digite una tecla para continuar...");
break;
case 2: setgraphmode(ventana_g1); //regresamos a la ventana de graficos
outtextxy(200,180,"2");
setcolor(BLUE);
setlinestyle(3,2,4);
circle(250,350,60);
setcolor(MAGENTA);
outtextxy(200,230,"CIRCULO");
settextstyle(0,0,1);
delay(100);
// outtextxy(20,480,"digite una tecla para continuar...");

break;
}
if(opcion!=3)
system("pause");
}while(opcion!=3);
closegraph(); //close graphics window
return 0
}

Referencia: Guia de graficos en TC

http://sistemasjpa.es.tl/C%2B%2B-_-winbgim-.-h.htm

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