Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
1
#include <graphics.h>
Controlador
CGA
MCGA
EGA
EGA64
EGAMONO
HERC
ATT400
VGA
Modo
CGAC0
CGAC1
CGAC2
CGAC3
CGAHI
MCGAC0
MCGAC1
MCGAC2
MCGAC3
MCGAMED
MCGAHI
EGALO
EGAHI
EGA64LO
EGA64HI
EGAMONOHI
HERCMONOHI
ATT400C0
ATT400C1
ATT400C2
ATT400C3
ATT400CMED
ATT400CHI
VGALO
VGAMED
VGAHI
Valor
0
1
2
3
4
0
1
2
3
4
5
0
1
0
1
3
0
0
1
2
3
4
5
0
1
2
Resolucin
320 x 200
320 x 200
320 x 200
320 x 200
640 x 200
320 x 200
320 x 200
320 x 200
320 x 200
640 x 200
640 x 480
640 x 200
640 x 350
640 x 200
640 x 350
640 x 350
720 x 348
320 x 200
320 x 200
320 x 200
320 x 200
640 x 200
640 x 200
640 x 200
640 x 350
640 x 480
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
2
PC3270
IBM8514
PC3270HI
IBM8514LO
IBM8514HI
0
0
1
720 x 350
640 x 480
1024 x 768
Para dejar de usar un modo de video grfico y volver a modo texto, se usa o
bien closegraph() o restorecrtmode(). Sus prototipos son:
void far closegraph (void);
void far restorecrtmode (void);
La diferencia entre ambas estriba principalmente en que la primera descarga
toda la memoria asignada a especificaciones grficas, mientras que la segunda la deja
intacta para permitir el regreso al modo indicado cuando se encuentre la siguiente
funcin:
void far setgraphmode (int modo);
Ejemplo: Veamos el siguiente programa que alterna de modo grfico a texto y
viceversa para mostrar el uso de estas funciones.
#"%$&(')
*+
,-. ! /
!
0
12 !
345667
! 8
9') 8
!
3:;
6 <.= ! >/?8
') @-AB
C2,
.?/D8
<
6C
EF6GH1 I27."KJ9L&(J9$MN&(J;O&(PQ"%J9LR&(J9$9MN&(J;O&S/?8
6C
EF6EF7.. ! T 2 U ! V
IC/DWYX9PZ. ! T [6,-U ! T C/?WYX9PQ\2J;1-
T')
] ^I? __ \`/?8
6C
EF6EF7.. ! T 2 U ! V
IC/DWYX9P ! T [6C,
Ua
EF
.?\2b\2/DP
\c`2
<
B
>2>') d&(
EF_e \`/D8
C.?/D8
2
fC,
.D/?8
2 96Ig.\fhi2>
1C,
V
B') d&(
EF jj\`/?8
2 96Ig.\c`2
<
B
>2 ! !
`>') ] 2^kIg e_ \`/?8
C.?/D8
<
,- @
.')
/?8
<
6C
EF6GH1 I27."KJ9L&(J9$MN&(J;O&(PQ"%J9LR&(J9$9MN&(J;O&S/?8
6C
EF6EF7.. ! T 2 U ! V
IC/DWYX9PZ. ! T [6,-U ! T C/?WYX9PQ\5lm
C>
n') @
] ^I? __ \`/?8
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
3
6C
EF6EF7.. ! T 2 U ! V
IC/DWYX9P ! T [6C,
Ua
EF
.?\2b\2/DP
B
>2o< g__ \`/?8
C.?/D8
\c`2
<
p
,
.?/
0
/D8
Ig."% J92RrfAn2sutv/?0
2 6Ig.?\b>2
BJ92gwxS<j\2PQ
22,d<."% @ J922/
Ey C.zV/?8
p
"%$&(') @
*T
,
.?/?8
;
2.D/?8
[T
2T
@
Ig
J;{Z"
|;E}z;[
~')kEy"% 5<P_')E;O@P_')kEFR8
! #"% <. ! @/?8
! #c`C<. ! /?8
! #c`9<.? /?8
! 4lm
C.D C/D8
! 4{NCkC<.? 9PQ`Y/?8
! #Z
. ! /?8
,
.?/
0
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
5
c`C<.?/D8
"% 2 <.?/?8
p
p
c`<.z;/D8
p
#c`C<. ! /
!
0
9}VAz;9998
9 PGHPEyP7PZP34PQ 8
12 !
345667
! 8
lm
.|:/?8
!
3:;
6 <.= ! >/?8
BA ! T [6,U ! V 8
3A ! T 2 ~U ! T
I28
I?2.GHA|98 GHX98 GHB/0
<2 .V/D8
Ig. A|:8Z 9|9|9|8QF/?0
EAzVB2 ,
.3UzV/?8
7nAzVB2 @,-.BUzV/?8
`AB.G/u
Ey
.E9PN7n/w2 @,-.'4Ey"K 5T/?8
I?..GH/u. `AAn ,
.?')kEy"% 5<//wQzq/C E9
.EyP7P
.eGH/u|nwN 2/?8
p
p
p
c`<.?|9/D8
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
6
{N;. PQ,d;>/?8
AB
.?/?8
Ig.J;{Z"AAn
/?0
<
2.?/D8
Ey C.zV/?8
p
Ig.|:AAn
/?0
An
.D/?8
p
4lm
C. ~;/
!
0
<
2.'4Ey"K 5TUzV/?8
Ig.r5T/0
<
!
3nfC.|9PQ|9PZ'4EFOWYX9Uz;PQ')kEFRPzq/D8
Q2
.?/D8
<
!
3nfC.z;Pz;PZ'4EFOWYX9UX9PQ')kEFRUz;Pzq/D8
!
3nfC.?/D8
p
;
0
<
!
3nfC.')kEFOWYX9PQ|9PZ')kEFOPQ')E;RPzV/?8
Q2
.?/D8
<
!
3nfC.')kEFOWYX9z;Pz;PQ')kEFOUz;PZ'4EFUz;PzV/?8
!
3nfC.?/D8
p
p
4{NCkC<. <PQ`Y,d</
!
0
98
<
2.'4Ey"K 5TUzV/?8
<
6C
EF617
.{Z'hi1MZFsuLR&(PZbsu$ FMZ*T $P4/D8
<
6C
EF6GH1 I27."KJ9L&(J9$MN&(J;O&(P&(sucMN&(J;O&S/?8
<
167
.{Zsu< *RMZ< L+J9PZ|9PQLTsu$'MN *R&(b/?8
<
6Ig 167
.J9')c&YM; <PZ|:/?8
BA:
EF
9.\2b\`/?8
Ig.r5T/0
<
!
3nfC.|9PQ|9PZ'4EFOWYX9Uz;PQ')kEFRPzq/D8
[.|9PZ')kEFRU.D/?PQ')kEFOWYX9Uz;PZ'4EF-/D8
2
.|9PQ')kEFRU.?/?PQ')kEFOWYX9Uz;PZ')kEF-/?8
EF6EF7.')kEFOWDPZ'4EFU.?X9/DPZ,d</?8
<
!
3nfC.z;Pz;PZ'4EFOWYX9UX9PQ')kEFRU.?9/?Pzq/D8
p
;
0
<
!
3nfC.')kEFOWYX9PQ|9PZ')kEFOPQ')E;RPzV/?8
[.')E;O@WYX9PQ')kEFRU.?/?PQ')kEFOPZ')kEF-/?8
2
.|9PQ')kEFRU.?/?PQ')kEFOWYX9PZ')kEF-/?8
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
7
EF6EF7.')kEFOWDPZ'4EFU.?X9/DPZ,d</?8
<
!
3nfC.')kEFOWYX9z;Pz;PQ')kEFOUz;PZ'4EFU.?9/DPzV/?8
p
<
6C
EF617
.*TJ9h%1&YMZFsuLR&(PZbsu$ FMZ*T $Pzq/D8
#Z
. !
/
!
0
12 !
345667
! 8
<
2.'4Ey"K 5TUzV/?8
<
167
.{Zsu< *RMZ< L+J9PZ|9PQLTsu$'MN *R&(b/?8
!
3:;
6 <.= ! >/?8
C
.|9PZ|9P ! V 9U ! T
I2P ! T [6,-U ! T C>/?8
,-k@
@
Ig
'h+O@c(&Y{
z;
12~c(&Y{d0
9}EyP78
p68
12~c(&Y{dT_'hTOc&Y{ZP_ TH'hTOc&Y{Zz;CH'h+O@c(&Y{z;68
! #<
&(*T
,
.? [
/?8
! #<
$
*T
,
.? [
/?8
! #c`2,-
2<.? @[
/D8
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
8
;
2.D/?8
#c`2,-
2<. [
$
F/
!
0
12 !
345667
! 8
9 PGHPQtNPZ PZP34PEyP7PZtN8
92PQPZk;8
[
2 }<8
!
3:;
6 <.= ! >/?8
BA ! T [6,U ! T 8
3A ! T 2 U ! V
IC8
Ey
Ai3WX98
7
ABnWX98
`AB.?BU9|9/W.D$
;X9/D8
<
AB99|W'h+Oc&Y{Z8
AB|98
I?2. A|:8Q 'hTOc&Y{8QF/0
2 }TAn.D [
/?>'Mc(WSz;9| |98
T_ C EAiEy
n.? C/?.<.? ;/`/D8
T_ C 7nA:7
U.? 9/?.< .? ;/`$
F/?8
>An<8
WY{Z
C
YW
p
I?2.GHAzV8GHA'hTOc&Y{8NGn/0
Ig. A|9P_ A|:8Z 'hTOc&Y{8Z P_ AGy/0
tNA xd'hTOc&Y{Z8
tNA.? UaGH/x'hTOc&Y{Z8
T_ C GHUz; EAnT_tN EUTH.? /?.?tN/w .?tN/? Ey8
T_ C GHUz; 74ABT_tN 7nUT_.? /?`.?tN/w .?tN/? 78
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
9
2
.eEyP 7Pe/?8
p
#<
&(*T
,
. [
2>/
!
0
9 PGH8
c`2,
C<.2>/?8
I?2. A|:8Q 'hTOc&Y{8QF/0
Ig.GHAF8GH'h+O@c(&Y{d8Q9G9/0
,
!
C.?TH E9PZT_ C 7/?8
.?T GC EyPQT GC 7/?8
p
p
#<
$
*T
,
.? [
/
!
0
9 PGH8
c`2,
C<.?2/?8
I?2. A|:8Q A'hTOc&Y{8ZF/0
,
!
C.DVH|9C EyPQT_|9 7/?8
Ig.GHA|:8NGA'hTOc&Y{8ZGy/0
.? @V GH_ C EyPQ T GCH 7/?8
void far arc (int x, int y, int StartAngle, int EndAngle, int Radio);
Realiza un arco, donde ( x , y ) son las coordenadas del centro, StartAngle y
EndAngle nos da el ngulo (en radianes) donde comienza o termina respectivamente
de trazar el arco, y Radio fija el valor del radio.
void far bar (int left, int top, int right, int bottom);
void far bar3d (int left, int top, int right, int bottom, int depth, int topflag);
Usados para la creacin de grficos estadsticos.
void far
RadioY);
ellipse (int x, int y, int StartAngle, int EndAngle, int RadioX, int
Valor
0
1
2
3
4
5
6
7
8
Significado
Relleno con color de fondo
Relleno con textura uniforme
Relleno -------------------Relleno ////////////////////////
Relleno //////////////////////// con lneas gruesas
Relleno \\\\\\\\\\\\\\\\\\\\\\\\ con lneas gruesas
Relleno \\\\\\\\\\\\\\\\\\\\\\\\
Relleno con espaciado ligero
Relleno con espaciado denso
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
11
INTERLEAVE_FILL
WIDE_DOT_FILL
CLOSE_DOT_FILL
USER_FILL
9
10
11
12
Tipo
DEFAULT_FONT
TRIPLEX_FONT
SMALL_FONT
SANS_SERIF_FONT
GOTHIC_FONT
Valor
0
1
2
3
4
Significado
Tipo mapa de 8x8 bits
Letras Grandes
Letras pequeas
Tipo Sans Serif
Letra Gtica
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
12
struct textsettingstype {
int font;
int direction;
int charsize;
int horiz;
int vert;
};
Cambio de estilo de lnea:
Turbo C permite cambiar la forma en la que se dibuja una lnea. Todas las
lneas son slidas por omisin, pero mediante la especificacin correcta esta puede ser
de puntos, de trazos, de puntos y trazos contiguos o personalizado. Para efectuar estos
cambios usaremos la funcin:
void far setlinestyle (int estilo, unsigned modelo, int ancho);
A continuacin se detallan los posibles valores del parmetro estilo:
Valor
SOLID_LINE
DOTTED_LINE
CENTER_LINE
DASHED_LINE
USERBIT_LINE
Significado
Lnea continua
Lnea de puntos
Eje de simetra
Lnea de trazos
Lnea definida por el usuario
Valor
0
1
2
3
4
Significado
Sobreescrbir el destino
OR-Exclusivo con destino
OR con destino
AND con destino
Invertir la imagen fuente
,-
,
[T
@
Ig
suL z
@
Ig
suF|
@
Ig
')kEyc6
@
Ig
*T
2O.EyP 3nP_ P_`/..?.? /?.Ey/?.3n/?Uz;/B.?//u..?2/?U.D /?U.3n/?zV/w.?.EAn|9/u|nw
E9/?8
@
Ig
*T
2R.e7PeP Pe[/..?./?.7/?.?/?Uz;/B.?[//u..?[/?U./?U.?/?zV/wN.?.e74AB|9/u|nw
7/D8
12~c(&Y{d0
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
14
9}EyP78
p68
# ,
. ! #/
!
0
1
}bAz;|9|98
1
c&SA:|98
12~c&Y{98
12 !
345667
! 8
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
15
7 An*+
92..7A 7/?PZP ! V P ! T [6C,/?8
n
pQ3n
.EyAA E=q=7AA 74/D8
C ,-
.EyPN7PEy3nPN7PQc` >/?8
9 ,
.E9PN7PQ')
,
2 PQ"%suc`MZc`&S/?8
,
,
7.')
,
PZc`C P<D< (
Ig.e; (
MNC//?8
7.c&S/?8
p
I?2
.')
,
2 /?8
I?2
.c`C /?8
#Z
. !
#/
!
0
12 !
345667
! 8
<
2.
,-kEy 2.?/U2 ,
.
,
E9 2.D///?8
<
167
.{Zsu< *RMZ< L+J9PZ|9PQLTsu$'MN *R&(b/?8
!
3:;
6 <.= ! >/?8
C
.|9PZ|9P ! V 9U ! T
I2P ! T [6,-U ! T C>/?8
INFORMTICA II - Ayte. Mauricio Varea - Ing. Oscar Nasisi - Ing. Carlos Gil
16