PDF de programación - C++ Guía Práctica: Modo Gráfico. Desarrollo de Aplicaciones y Manipulación de Datos

Imágen de pdf C++ Guía Práctica: Modo Gráfico. Desarrollo de Aplicaciones y Manipulación de Datos

C++ Guía Práctica: Modo Gráfico. Desarrollo de Aplicaciones y Manipulación de Datosgráfica de visualizaciones

Publicado el 7 de Mayo del 2017
2.935 visualizaciones desde el 7 de Mayo del 2017
89,6 KB
2 paginas
Creado hace 12a (16/10/2011)
Guía Práctica: Modo Gráfico.
Desarrollo de Aplicaciones y Manipulación de Datos.

C++

Prof: Mileti

Para realizar gráficos en C++ necesitamos poner el sistema en modo
gráfico. Para ello debemos incluir a nuestro programa la biblioteca de
gráficos GRAPHICS.H

#include <graphics.h>

Para inicializar el modo gráfico se utiliza la función initgraph() y para
detenerlo la función closegraph().

A la función initgraph se le deben pasar 3 argumentos que permitirán
detectar de forma automática la placa de video y fijar el modo de video
más alto posible:

int driver=DETECT, modo;
initgraph(&driver,&modo,”C:\\TC\\BGI”);

El primer parámetro (&driver) es asignado a DETECT, por la tanto la
función detectgraph() es llamada, y un dispositivo y modo gráfico
(segundo parámetro) apropiados serán seleccionados.
El tercer parámetro especifica el directorio donde los dispositivos gráficos
están localizados.

Si la función initgraph() falla, puede interceptarse un código de error e
informar al usuario de dicho problema:

if (graphresult()!= grOk) {
cout << “Error al iniciar el modo gráfico, el programa finalizará”;
getch();
exit (1);
}

De ahora en adelante es posible utilizar cualquier función gráfica en
nuestro programa.

Para finalizar el modo gráfico ejecutamos la siguiente instrucción:

closegraph();

Generalmente al iniciar el modo gráfico se dispone de una resolución de
640x480. Es decir disponemos de 640 pixeles en el eje x y 480 pixeles en
el eje y.

640 píxeles (Eje X)

480 píxeles (Eje Y)

circle (int X, int Y, int radio);


Dibuja un circulo (cuyo tamaño de radio está dado por la variable radio)
en la pantalla con centro en los puntos (X, Y).
circle (100, 100, 10);

Para comprobar esto, podemos hacer uso de la funciones getmaxx() y
getmaxy() que devuelven el máximo píxel del eje x e y respectivamente.

cout<<”Resolución: “ << getmaxx() << “x” << getmaxy();

En caso de contar con una resolución de 640x480, la línea de código
anterior mostraría en pantalla lo siguiente:

Resolución: 639x479

Esto se debe a que el último píxel de eje x es 639, y el último píxel del eje
y es 479, ya que ambos ejes comienzan en el píxel 0.

Establecer colores
Para seleccionar el color de fondo en modo grafico debemos utilizar la
función setbkcolor() y para establecer el color de dibujo setcolor().

Para limpiar la pantalla en modo gráfico se utiliza la función
cleardevice() que dejará la pantalla con el color establecido en
setbkcolor().

Funciones más utilizadas:

rectangle (int X1, int Y1, int X2, int Y2);


Dibuja un rectángulo sin relleno en la pantalla marcado por los puntos
(X1, Y1) y (X2, Y2), donde X1 es el extremo izquierdo del rectángulo,
Y1 es el extremo superior, X2 es el extremo derecho e Y2 el extremo
inferior del rectángulo.
rectangle (100, 200, 300, 400);

100

200

300

400

100

100

line (int X1, int Y1, int X2, int Y2);


Dibuja una línea recta iniciando en los puntos X1, Y1; concluyendo en
X2, Y2.
line (100, 200, 300, 400);

100

200

300

400

ellipse (int X, int Y, int stangle, int endangle, int xradius, int yradius);


Dibuja un elipse con centro en los puntos X, Y.
stangle y endangle indican el ángulo inicial y final del arco elíptico a
dibujar. Para ello se toma como referencia la siguiente figura:

90 grados

180 grados

0 grados
360 grados

270 grados

Mediante xradius e yraduis se le puede establecer la forma de óvalo al
elipse. Veamos un ejemplo de arco elíptico:

ellipse(100,100,180,360,50,50);

180º

100

360º

100

ellipse(100,100,0,360,20,60);

100

100

Figuras con relleno:
En las funciones anteriores no es posible establecer un relleno a las
figuras creadas. Las funciones que sí aceptan un estilo de relleno son:
bar, bar3d, fillelipse y pieslice, entre otras.

Para indicar el estilo de relleno de estas figuras se utiliza la función
setfillstyle de la siguiente manera:

setfillstyle(int pattern, int color);

El valor de pattern indica el tipo de relleno, pudiendo tomar uno de los
siguientes valores:

EMPTY_FILL
LTSLASH_FILL
LTBKSLASH_FILL
INTERLEAVE_FILL WIDE_DOT_FILL
USER_FILL

SOLID_FILL
SLASH_FILL
HATCH_FILL

LINE_FILL
BKSLASH_FILL
XHATCH_FILL
CLOSE_DOT_FILL

Color representa el color de relleno (del 0 al 15 o constante de color).

Ejemplos:

//Dibuja una barra bidimensional con relleno sólido de color verde
setfillstyle(SOLID_FILL, GREEN);
bar(100,10,150,90);

//Dibuja una barra tridimensional con líneas de relleno de color cyan
setfillstyle(LINE_FILL, CYAN);
bar3d(200,20,250,90,15,1);

//Dibuja un elipse y lo rellena con líneas oblicuas de color rojo.
setfillstyle(SLASH_FILL, 4);
fillellipse(50,200,40,70);

//Dibuja un sector con relleno cuadriculado de color blanco
setfillstyle(HATCH_FILL,WHITE);
pieslice(150,200,0,45,100);

Establecer tamaño y estilo del texto
Para indicar el formato del texto que aparecerá en pantalla durante el
modo gráfico se utiliza la función settextstyle:

settextstyle(int font, int direction, int charsize);

TRIPLEX_FONT
GOTHIC_FONT

El valor de font es una constante que indica la fuente a utilizar. Las
constantes disponibles son:
DEFAULT_FONT
SANS_SERIF_FONT
Direction es una constante que indica la orientación del texto, puede ser
HORIZ_DIR (el texto se muestra horizontalmente de izquierda a derecha)
o VERT_DIR (el texto se muestra con sentido vertical de abajo hacia
arriba).
Charsize se corresponde con un número entero que indica el tamaño de la
fuente. Los valores van del cero en adelante, aumentando el tamaño de la
letra. A continuación se establece el formato para dibujar un texto.

SMALL_FONT

Crear animaciones utilizando ciclo for
Mediante el ciclo for es posible controlar el cambio de algunos
parámetros de las funciones gráficas, generando de esta manera algún tipo
de animación. A continuación un ejemplo:

settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 4);

Una vez indicado el formato del texto podemos presentar en pantalla una
leyenda a través de la función outtextxy():

#include<graphics.h>
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<dos.h>
void main(){
int driver=DETECT, modo, i;
clrscr();
initgraph(&driver,&modo,"C:\\TC\\BGI");
if (graphresult()!=grOk){
cout<<"Error al iniciar modo gráfico.";
getch();
exit(1);
}
setfillstyle(SOLID_FILL,BLUE);
for(i=300;i>1;i--){
setcolor(RED);
line(getmaxx()/2,getmaxy()/2,0, getmaxy());
line(getmaxx()/2,getmaxy()/2,getmaxx(),getmaxy());
setcolor(BLACK);
fillellipse(getmaxx()/2,getmaxy()/2,i,i);
delay(50);
//cleardevice();
}
closegraph();
}

outtextxy(int x, int y, char *textstring);

Los valores de x e y establecen las coordenadas en donde el texto será
dibujado.
Textstring se refiere a la cadena de caracteres que se mostrará en pantalla.

outtextxy(100,200,”Esto es modo gráfico!!!”);



Colores disponibles (modo texto)
Valor
Constante

0
BLACK
1
BLUE
2
GREEN
3
CYAN
4
RED
5
MAGENTA
6
BROWN
7
LIGHTGRAY
8
DARKGRAY
LIGHTBLUE
9
LIGHTGREEN 10
11
LIGHTCYAN
LIGHTRED
12
LIGHTMAGENTA 13
YELLOW
14
15
WHITE
128
BLINK
  • Links de descarga
http://lwp-l.com/pdf3365

Comentarios de: C++ Guía Práctica: Modo Gráfico. Desarrollo de Aplicaciones y Manipulación de Datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad