You are on page 1of 2

640 pxeles (Eje X)

480 pxeles (Eje Y)


Para realizar grficos en C++ necesitaos poner el sistea en o!o
grfico" Para ello !e#eos incl$ir a n$estro prograa la #i#lioteca !e
grficos %&'P()C*"(
#include <graphics.h>
Para inicializar el o!o grfico se $tiliza la f$nci+n initgraph() , para
!etenerlo la f$nci+n closegraph()"
' la f$nci+n initgraph se le !e#en pasar - arg$entos .$e peritirn
!etectar !e fora a$totica la placa !e /i!eo , fijar el o!o !e /i!eo
s alto posi#le0
int driver=DETECT, modo;
initgraph(driver,modo,!C"##TC##$%&!);
El prier paretro (1!ri/er) es asigna!o a 2E3EC34 por la tanto la
f$nci+n detectgraph() es llaa!a4 , $n !ispositi/o , o!o grfico
(seg$n!o paretro) apropia!os sern selecciona!os"
El tercer paretro especifica el !irectorio !on!e los !ispositi/os grficos
estn localiza!os"
*i la f$nci+n initgraph() falla4 p$e!e interceptarse $n c+!igo !e error e
inforar al $s$ario !e !ic5o pro#lea0
i' (graphresult()(= gr)*) +
cout << ,Error al iniciar el modo gr-'ico, el programa 'inali.ar-!;
getch();
e/it (0);
1
2e a5ora en a!elante es posi#le $tilizar c$al.$ier f$nci+n grfica en
n$estro prograa"
Para finalizar el o!o grfico ejec$taos la sig$iente instr$cci+n0
closegraph();
%eneralente al iniciar el o!o grfico se !ispone !e $na resol$ci+n !e
640x480" Es !ecir !isponeos !e 640 pixeles en el eje x , 480 pixeles en
el eje ,"
Para copro#ar esto4 po!eos 5acer $so !e la f$nciones getma//() ,
getma/2() .$e !e/$el/en el xio pxel !el eje x e , respecti/aente"
cout<<!3esoluci4n" , << getma//() << ,/! << getma/2();
En caso !e contar con $na resol$ci+n !e 640x4804 la lnea !e c+!igo
anterior ostrara en pantalla lo sig$iente0
&esol$ci+n0 6-6x476
Esto se !e#e a .$e el 8ltio pxel !e eje x es 6-64 , el 8ltio pxel !el eje
, es 4764 ,a .$e a#os ejes coienzan en el pxel 0"
Establecer colores
Para seleccionar el color !e fon!o en o!o grafico !e#eos $tilizar la
f$nci+n set5*color() , para esta#lecer el color !e !i#$jo setcolor()"
Para lipiar la pantalla en o!o grfico se $tiliza la f$nci+n
cleardevice() .$e !ejar la pantalla con el color esta#leci!o en
set5*color()"
Funciones ms utilizadas:
rectangle (int X1, int Y1, int X2, int Y2);
2i#$ja $n rectng$lo sin relleno en la pantalla arca!o por los p$ntos
(X94 Y9) , (X:4 Y:)4 !on!e X9 es el extreo iz.$ier!o !el rectng$lo4
Y9 es el extreo s$perior4 X: es el extreo !erec5o e Y: el extreo
inferior !el rectng$lo"
rectangle (066, 766, 866, 966);
circle (int X, int Y, int radio);
2i#$ja $n circ$lo (c$,o taa;o !e ra!io est !a!o por la /aria#le ra!io)
en la pantalla con centro en los p$ntos (X4 Y)"
circle (066, 066, 06);
line (int X1, int Y1, int X2, int Y2);
2i#$ja $na lnea recta inician!o en los p$ntos X94 Y9< concl$,en!o en
X:4 Y:"
line (066, 766, 866, 966);
ellipse (int X, int Y, int stangle, int endangle, int xradius, int radius);
2i#$ja $n elipse con centro en los p$ntos X4 Y"
stangle , en!angle in!ican el ng$lo inicial , final !el arco elptico a
!i#$jar" Para ello se toa coo referencia la sig$iente fig$ra0
C++
Gua Prctica: Modo Grfico.
Desarrollo de Aplicaciones y Manipulacin de Datos.
Prof: Mileti
900 :00
400
-00
900
900
900 :00
400
-00
0 gra!os
60 gra!os
980 gra!os
:70 gra!os
-60 gra!os
=e!iante xra!i$s e ,ra!$is se le p$e!e esta#lecer la fora !e +/alo al
elipse" >eaos $n ejeplo !e arco elptico0
ellipse(066,066,0:6,8;6,<6,<6);
ellipse(066,066,6,8;6,76,;6);
Figuras con relleno:
En las f$nciones anteriores no es posi#le esta#lecer $n relleno a las
fig$ras crea!as" ?as f$nciones .$e s aceptan $n estilo !e relleno son0
5ar, 5ar8d, 'illelipse 2 pieslice4 entre otras.
Para in!icar el estilo !e relleno !e estas fig$ras se $tiliza la f$nci+n
set'illst2le !e la sig$iente anera0
set'illst2le(int pattern, int color);
El /alor !e pattern in!ica el tipo !e relleno4 p$!ien!o toar $no !e los
sig$ientes /alores0
E=P3Y@A)?? *B?)2@A)?? ?)CE@A)??
?3*?'*(@A)?? *?'*(@A)?? DE*?'*(@A)??
?3DE*?'*(@A)?? ('3C(@A)?? X('3C(@A)??
)C3E&?E'>E@A)?? F)2E@2B3@A)?? C?B*E@2B3@A)??
G*E&@A)??
Color representa el color !e relleno (!el 0 al 9H o constante !e color)"
Ejeplos0
==Di5u>a una 5arra 5idimensional con relleno s4lido de color verde
set'illst2le(?)@&DAB&@@, %3EEC);
5ar(066,06,0<6,D6);
==Di5u>a una 5arra tridimensional con lEneas de relleno de color c2an
set'illst2le(@&CEAB&@@, CFGC);
5ar8d(766,76,7<6,D6,0<,0);
==Di5u>a un elipse 2 lo rellena con lEneas o5licuas de color ro>o.
set'illst2le(?@G?HAB&@@, 9);
'illellipse(<6,766,96,I6);
==Di5u>a un sector con relleno cuadriculado de color 5lanco
set'illst2le(HGTCHAB&@@,JH&TE);
pieslice(0<6,766,6,9<,066);
!rear animaciones utilizando ciclo "or
=e!iante el ciclo for es posi#le controlar el ca#io !e alg$nos
paretros !e las f$nciones grficas4 generan!o !e esta anera alg8n tipo
!e aniaci+n" ' contin$aci+n $n ejeplo0
#include<graphics.h>
#include<conio.h>
#include<iostream.h>
#include<stdli5.h>
#include<dos.h>
void main()+
int driver=DETECT, modo, i;
clrscr();
initgraph(driver,modo,KC"##TC##$%&K);
i' (graphresult()(=gr)*)+
cout<<KError al iniciar modo gr-'ico.K;
getch();
e/it(0);
1
set'illst2le(?)@&DAB&@@,$@LE);
'or(i=866;i>0;iMM)+
setcolor(3ED);
line(getma//()=7,getma/2()=7,6, getma/2());
line(getma//()=7,getma/2()=7,getma//(),getma/2());
setcolor($@GCN);
'illellipse(getma//()=7,getma/2()=7,i,i);
dela2(<6);
==cleardevice();
1
closegraph();
1
Establecer tama#o estilo del texto
Para in!icar el forato !el texto .$e aparecer en pantalla !$rante el
o!o grfico se $tiliza la f$nci+n sette/tst2le"
sette/tst2le(int 'ont, int direction, int charsi.e);
El /alor !e 'ont es $na constante .$e in!ica la f$ente a $tilizar" ?as
constantes !isponi#les son0
2EA'G?3@ABC3 3&)P?EX@ABC3 *='??@ABC3
*'C*@*E&)A@ABC3 %B3()C@ABC3
Direction es $na constante .$e in!ica la orientaci+n !el texto4 p$e!e ser
(B&)I@2)& (el texto se $estra 5orizontalente !e iz.$ier!a a !erec5a)
o >E&3@2)& (el texto se $estra con senti!o /ertical !e a#ajo 5acia
arri#a)"
Charsi.e se correspon!e con $n n8ero entero .$e in!ica el taa;o !e la
f$ente" ?os /alores /an !el cero en a!elante4 a$entan!o el taa;o !e la
letra" ' contin$aci+n se esta#lece el forato para !i#$jar $n texto"
sette/tst2le(?GC?A?E3&BAB)CT, H)3&OAD&3, 9);
Gna /ez in!ica!o el forato !el texto po!eos presentar en pantalla $na
le,en!a a tra/Js !e la f$nci+n outte/t/2()0
outte/t/2(int /, int 2, char Pte/tstring);
?os /alores !e / e 2 esta#lecen las coor!ena!as en !on!e el texto ser
!i#$ja!o"
Te/tstring se refiere a la ca!ena !e caracteres .$e se ostrar en pantalla"

outte/t/2(066,766,!Esto es modo gr-'ico(((!);
!olores disponibles (modo texto)
!onstante $alor
D?'CE 0
D?GE 9
%&EEC :
CY'C -
&E2 4
='%EC3' H
D&BFC 6
?)%(3%&'Y 7
2'&E%&'Y 8
?)%(3D?GE 6
?)%(3%&EEC 90
?)%(3CY'C 99
?)%(3&E2 9:
?)%(3='%EC3' 9-
YE??BF 94
F()3E 9H
D?)CE 9:8
900
900 980K
-60K
900
900

You might also like