Estructuras
del modo gráfico.
Estructura arccoordstype
struct arccoordstype {
int x, y;
int xstart, ystart;
int xend, yend;
};
Los miembros x e y definen
el centro del arco. Los miembros xstart e ystart definen las
coordenadas x e y del punto de comienzo del arco. Similarmente,
los miembros xend e yend definen las coordenadas x e y del
punto de final del arco.
Esta estructura se usa como
parámetro en la función getarccoords, que se usa para recoger las coordenadas del centro, y los puntos
del comienzo y final de la última llamada con éxito a la función arc.
Ejemplo:
#include <graphics.h>
#include <conio.h>
void main() {
int driver = EGA,modo = EGAHI,radio;
struct arccoordstype info_arco;
initgraph( &driver, &modo,
"C:\\tc20\\BIN" );
for( radio=25; radio<=100; radio+=25 ) {
arc( 300, 150, 45, 315, radio );
getarccoords( &info_arco );
moveto( info_arco.xstart, info_arco.ystart );
lineto( info_arco.xend, info_arco.yend );
}
getch(); /* Pausa */
closegraph();
}
Estructura fillsettingstype
struct
fillsettingstype {
int pattern;
int color;
};
Esta estructura se usa para
obtener la información de tramas de relleno, mediante getfillsettings.
El campo pattern es la
trama y el campo color es el color de relleno de la trama. Existen trece
valores ya definidos para tramas.
Ejemplo:
#include
<graphics.h>
#include <conio.h>
#include <stdio.h>
void main() {
int gdriver = EGA,gmodo = EGAHI;
struct fillsettingstype info;
initgraph( &gdriver, &gmodo,
"C:\\tc20\\BIN" );
getfillsettings( &info );
bar( 50, 50, 350, 300 );
getch(); /* Pausa */
closegraph();
printf(
"Trama de relleno: %d\tColor de relleno: %d\n",
info.pattern, info.color );
getch();
}
Estructura linesettingstype.
struct
linesettingstype {
int linestyle;
unsigned upattern;
int thickness;
}
Esta estructura se usa para
obtener la información actual para las líneas mediante la función getlinesettings. El campo linestyle es el
estilo de la línea recta. El campo upattern es la trama de la línea del
usuario solamente cuando el campo linestyle es igual a USERBIT_LINE,
ó 4. Cuando esto sea el caso, el miembro upattern contiene una trama de
línea definido por el usuario de 16 bits. Un bit 1 en esta trama indica que el píxel
correspondiente será asignado el color actual. Un bit 0 indica que el píxel
correspondiente no será alterado. El campo thickness es el grosor de la
línea.
Existen varios valores para los diferentes estilos y grosores de
líneas rectas.
Ejemplo:
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
void main() {
int gdriver = EGA;
int gmodo = EGAHI;
struct linesettingstype info;
initgraph( &gdriver, &gmodo, "C:\\tc20\\BIN"
);
setlinestyle( DOTTED_LINE, 0xFF33, THICK_WIDTH );
circle( 350, 250, 50 );
getlinesettings( &info );
getch(); /* Pausa */
closegraph();
printf( "Líneas rectas.\nEstilo: %d\tTrama:
%X\tGrosor: %d\n",info.linestyle, info.upattern, info.thickness );
getch();
}
Estructura
palettetype
#define MAXCOLORS 15
struct palettetype {
unsigned char size;
signed char
colors[MAXCOLORS+1];
};
Esta estructura se usa para
obtener una los datos que definen la paleta según cada dispositivo.
El campo size indica el tamaño
de la paleta. El campo colors contiene los valores numéricos que
representan los colores que ofrece el dispositivo en su paleta de colores.
Ejemplo:
#include <graphics.h>
#include <conio.h>
#include <stdio.h&t;
void main() {
int driver = EGA,modo = EGAHI,i;
struct palettetype *palette = NULL;
initgraph( &driver, &modo, "C:\\tc20\\BIN"
);
palette = getpalettetype();
circle( 300, 150, 50 );
getch(); /* Pausa */
closegraph();
printf( "Paleta\n\nTamaño: %d\nColores: %d",
palette->size, palette->colors[0] );
for( i=1; i<palette->size; i++ )
printf( ", %d", palette->colors[i] );
printf( "\n" );
getch();
}
Estructura textsettingstype
struct
textsettingstype {
int font;
int direction;
int charsize;
int horiz;
int vert;
};
Esta estructura se usa para obtener
información acerca de la fuente gráfica actual mediante la función getextsettings. Esta estructura contiene información de
la fuente actual en uso, la orientación del texto, el tamaño del carácter, y la
justificación horizontal y vertical.
Existen varios valores para describir el tipo, la orientación, y
justificación de fuentes.
Ejemplo:
#include <graphics.h>
#include <stdio.h>
void main() {
int driver = EGA,modo = EGAHI;
struct textsettingstype info;
initgraph( &driver, &modo, "C:\\tc20\\BIN"
);
gettextsettings( &info );
closegraph();
printf( "Texto\n\nFuente: %d\tSentido:
%d\tTamaño: %d\n"
"Justificación:\nHorizontal:
%d, Vertical: %d\n",
info.font, info.direction, info.charsize, info.horiz,
info.vert);
getch();
}
Estructura viewporttype
struct viewporttype {
int left, top;
int right, bottom;
int clip;
};
Esta estructura se usa para
obtener información acerca del área gráfica actual mediante la función getviewsettings. Esta estructura contiene
información acerca de las esquinas superior izquierda e inferior derecha,
también como el banderín de recorte del área gráfica.
Ejemplo:
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
void main() {
int driver =IBM8514LO,modo=IBM8514HI;
struct viewporttype info;
initgraph( &driver, &modo, "C:\\tc20\\BIN"
);
getviewsettings( &info );
closegraph();
printf( "Pantalla\n\nIzquierda: %d\tSuperior:
%d\tDerecha: %d\t"
"Inferior: %d\tBanderín: %d\n",
info.left, info.top, info.right, info.bottom,
info.clip);
getch();
}
Estructura time
struct viewporttype {
int left, top;
int right, bottom;
int clip;
};
Esta estructura se usa para
obtener información acerca del área gráfica actual mediante la función getviewsettings. Esta estructura contiene
información acerca de las esquinas superior izquierda e inferior derecha,
también como el banderín de recorte del área gráfica.
Ejemplo:
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
void main() {
int driver =IBM8514LO,modo=IBM8514HI;
struct viewporttype info;
initgraph( &driver, &modo,
"C:\\tc20\\BIN" );
getviewsettings( &info );
closegraph();
printf( "Pantalla\n\nIzquierda: %d\tSuperior:
%d\tDerecha: %d\t"
"Inferior: %d\tBanderín: %d\n",
info.left, info.top, info.right, info.bottom,
info.clip);
getch();
}
tanto codigo y teoria me deja mareado :S hahahaha
ResponderEliminarALGUNA TAREA???
ResponderEliminar