Vous êtes sur la page 1sur 6

Universidade Santa Ceclia Pgina 1

Funes Grficas C++


Padro: Tela em modo SVG ! "#$ % #&$ '
Requisitos: r(uivo )egavga*+gi, e a include )gra-.ics*.,
Preparando o ambiente grfico
1* /eclarar as variveis de controle0
int gd, gm;
1* /etectar se o usurio -ossui uma -laca grfica0
detectgraph( &gd, &gm );
2* 3niciali4ar o modo grfico
initgraph( &gd, &gm, );
5+s*0 6o es-ao entre as-as fica a -asta onde est locali4ado seu ar(uivo )egavga*+gi,
Verificando se o modo grfico foi iniciado com sucesso
Comando0 graphresult( )
Se o modo grfico foi ativado com sucesso7 a varivel re-resentada -or gra-.result!' torna8se
4ero*
9%em-lo0
int gd, gm;
detectgraph( &gd, &gm);
initgraph(&gd, &gm, c:\\tcpp\\bgi);
if ( graphresult() != 0)
{
cut!! "rr n md gra#c ! ;
e$it( 0 );
%
Principais Funes Grficas
closegraph();
8 Fec.ar o modo grfico e retornar ao modo te%to
cleardevice();
8 ):im-a, a tela grfica
Introduo Computao Gilberto Holms
Universidade Santa Ceclia Pgina 1
setcolor( cr );
8 tri+uto de cor7 valor inteiro entre $ e 1; onde $ re-resenta a cor <:C= e 1; a cor
>?3T9* s cores -odem ser codificadas -or sua constante re-resentativa !<:U97
@9/7 CA67 A9::5>7 ****** '*
5+s*0 o comando setcolor!' nBo -reenc.e C
9%em-lo0
setclr( &'(" );
setbkcolor( cr );
8 9scol.e a cor de fundo da tela*
9%em-lo0
setb)clr( *+"", );
putpixel( cl , lin , cr);
8 Plotar um -onto colorido nas coordenadas es-ecificadas ! coluna 7 lin.a '*
9%em-lo0
putpi$el( -.0 , ./0 , +"0);
rectangle( ci , li , cf , lf );
8 /esen.a um retDngulo a -artir das coordenadas de sua diagonal*
9%em-lo0
rectangle( 0 , 0 , 1-2 , /32 );
circle( cl , lin , rai )
8 /esen.a um circulo com o centro nas coordenadas es-ecificadas*
9%em-lo0
circle( -.0 , ./0 , 40 );
bar( ci , li , cf , lf );
8 /esen.a um retDngulo -reenc.ido com a cor corrente !setcolor'*
9%em-lo0
setclr( *+"", );
Introduo Computao Gilberto Holms
Universidade Santa Ceclia Pgina 2
bar( 0 , 0 , 1-2 , /32 );
bar3d( ci , li , cf , lf , p , t );
8 /esen.a um cu+oE-aralele--edo de -rofundidade )p,* 5 -arDmetro )t, serve -ara
o desen.o ou nBo da tam-a do cu+o ! 1 ou 0 '*
9%em-lo0
bar-d( 40 , 400 , 50 , 4.0 , 5 , 4 );
setfllstyle( tip , cr );
8 9s-ecifica o ti-o e a cor da te%tura de -reenc.imento !-re-ara a tinta'*
9%em-lo0
set#llst6le( 78'90:;9'' , +"0 );
foodfll( cl , lin , cr:brda );
8 Preenc.er com a te%tura atri+uda !setfillstFle' a -artir das coordenadas
es-ecificadas7 limitadas -ela cor da +orda*
9%em-lo0
setclr( &'(" );
rectangle( 40 , -00 , /00 , -<0 );
set#llst6le( 78'90:;9'' , +"0 );
=d#ll( 44 , -04 , &'(" );
>>+et?ngul de brda a@ul preenchid cm a cr AermelhaB
moveto( cl , lin );
8 Gove o -i%el ativo -ara as coordenadas es-ecificadas !e(uivalente ao goto%F do
modo te%to'*
9%em-lo0
mAet( -.0 , ./0 );
setlinestyle( tip , pattern , espessura );
8 /efine o estilo da lin.a a ser usada* 5 -attern -adrBo H )1,*
9%em-lo0
Introduo Computao Gilberto Holms
Universidade Santa Ceclia Pgina #
setlinest6le( 78'90:'9," , 4 , - );
line( ci , li , cf , lf );
8 /esen.a uma lin.a a -artir das coordenadas dos -ontos final e inicial*
9%em-lo0
line( 40 , 400 , 50 , 4.0 );
lineto( cl , lin );
8 /esen.a uma lin.a a -artir do -i%el ativo atH o -onto es-ecificado -ela
coordenada*
9%em-lo0
mAet( 40 , 400 );
linet( 50 , 4.0 );
arc( cl , lin , ang:ini , ang:#n , rai );
8 /esen.a um arco com as coordenadas do seu centro e os Dngulos final e inicial do
arco em graus*
9%em-lo0
arc( -.0 , ./0 , 0 , 20 , 40 );
ellipse( cl , lin , ang:ini , ang:#n , raiC , raiD );
8 /esen.a uma eli-se com as coordenadas do seu centro7 Dngulos final e inicial !-ara
uma eli-se com-leta coloca8se os Dngulos com $ e 2"$' e os raios nos ei%os I e A*
9%em-lo0
ellipse( -.0 , ./0 , 0 , -10 , 50 , .0 );
installuserfont( patch );
8 3nstala uma nova fonte -ara seu uso no modo grfico !J *C?@'* Se ela for
carregada com sucesso7 retorna um numero inteiro de identificaBo -ara sua
c.amada na funBo sette%tstFle* Caso a memKria reservada -ara uso de fontes
internas estiver lotada7 a funBo retorna o valor L11 !gr9rror'*
9%em-lo0
int fnte;
fnte = installuserfnt( E:\\FEGG\\;8,F"BEH+ );
if (fnte == gr"rrr)
Introduo Computao Gilberto Holms
Universidade Santa Ceclia Pgina ;
fnte = 0";I('F:;8,F;
sette$tst6le( fnte , H8+9J:09+ , / );
>> 9nstala e seta a fnte fnteBchr para us e
>> cas haKa err, trca para a fnte padrL
settextstyle( tip , ei$:direML , tamanh );
8 /efine o estilo do te%to a ser usado no modo grfico*
9%em-lo0
sette$tst6le( 78'90:F"CF , H8+9J:09+ , / );
outtext( te$t );
8 3m-rime um te%to na tela grfica a -artir do -i%el ativo* 6Bo aceita nMmeros ou
caracteresN aceita a-enas )Strings, !cadeias de caracteres'*
9%em-lo0
utte$t( 9st eh uma 7tring ! );
outtextxy( lin , cl , te$t );
8 3m-rime um te%to na tela grfica a -artir das coordenadas es-ecificadas* 6Bo aceita
nMmeros ou caracteresN aceita a-enas )Strings, !cadeias de caracteres'*
9%em-lo0
utte$t$6( -.0 , ./0 , 9st eh utra 7tring ! );
textheight( te$t );
8 @etorna o valor da altura ocu-ada -elo te%to em -i%els7 levando em conta os atri+utos
do sette%tstFle !taman.o do te%to e ti-o de fonte'* 6Bo aceita nMmeros ou caracteresN aceita
a-enas )Strings, !cadeias de caracteres'*
textwidth( te$t );
8 @etorna o valor do com-rimento ocu-ado -elo te%to em -i%els7 levando em conta os
atri+utos do sette%tstFle !taman.o do te%to e ti-o de fonte'* 6Bo aceita nMmeros ou caracteresN
aceita a-enas )Strings, !cadeias de caracteres'*
9%em-lo0
int cl , lin;
Introduo Computao Gilberto Holms
Universidade Santa Ceclia Pgina "
char Nte$t;
te$t = Oinha 7tring n mei da tela !;
cl = te$tPidth( te$t );
lin = te$theight( te$t );
utte$t$6( -.0 Q cl>. , ./0 Q lin>. , te$t );
>> 8 te$t estR psicinad e$atamente n centr da tela
Introduo Computao Gilberto Holms

Vous aimerez peut-être aussi