martes, 10 de abril de 2012

Tema 2


Funciones de Graphics.h




Colores :
 Colores de Fondo

Constante
Valor
Significado
BLACK 
0
Negro
BLUE
1
Azul
GREEN
2
Verde
CYAN
3
Cían
RED
4
Rojo
MAGENTA
5
Magenta
BROWN
6
Marrón
LIGHTGRAY
7
Gris Claro
DARKGRAY 
8
Gris Oscuro
LIGHTBLUE
9
Azul Claro
LIGHTGREEN 
10
Verde Claro
LIGHTCYAN 
11
Cían Claro
LIGHTRED
12
Rojo Claro
LIGHTMAGENTA 
13
Magenta Claro
YELLOW
14
Amarillo
WHITE 
15
Blanco

Modo de 16 Colores

Constante
Valor
Significado
BLACK 
0
Negro
BLUE
1
Azul
GREEN
2
Verde
CYAN
3
Cían
RED
4
Rojo
MAGENTA
5
Magenta
BROWN
6
Marrón
LIGHTGRAY
7
Gris Claro
DARKGRAY 
8
Gris Oscuro
LIGHTBLUE
9
Azul Claro
LIGHTGREEN 
10
Verde Claro
LIGHTCYAN 
11
Cían Claro
LIGHTRED
12
Rojo Claro
LIGHTMAGENTA 
13
Magenta Claro
YELLOW
14
Amarillo
WHITE 
15
Blanco

Errores: 
Códigos de Errores

Constante
Código
Significado
grOk   
0
Ningún error
grNoInitGraph           
-1
Gráficos no iniciados
grNotDetected
-2
Ningún adaptador gráfico detectado
grFileNotFound         
-3
Fichero de dispositivo no encontrado
grInvalidDriver
-4
Fichero de dispositivo no válido
grNoLoadMem          
-5
No hay memoria para cargar dispositivo
grNoScanMem         
-6
No hay memoria para rellenar
grNoFloodMem         
-7
No hay memoria para usar floodfill
grFontNotFound        
-8
Fichero de fuente no encontrado
grNoFontMem           
-9
No hay memoria para cargar la fuente
grInvalidMode           
-10
Modo gráfico no válido
grError                       
-11
Error gráfico
grIOerror                    
-12
Error gráfico de Entrada/Salida
grInvalidFont              
-13
Fichero de fuente no válido
grInvalidFontNum     
-14
Número de fuente no válido
grInvalidDeviceNum 
-15
Número de dispositivo no válido
grInvalidVersion
-18
Número de versión no válido

¿Qué son los primitivos gráficos…?
Definición.
Un primitivo gráfico es un elemento fundamental de dibujo en un paquete gráfico tal como un punto, línea, o circulo; puede ser un carácter, o puede ser una operación tal como relleno, coloreado o trasferido de la imagen. C cuenta con 5 grupos de primitivos gráficos.

Ø  Figuras geométricas: Dibujan  las figuras de la geometría clásica: líneas, círculos, rectángulos, arcos, polígonos etc.

Ø  Relleno: tiene dos formas de realizarse. El primero es con polígonos, donde se definen los vértices del polígono a ser rellenado segunda es una operación grafica que busca algorítmicamente las fronteras de la región del relleno.

Ø  Rasterop: Es una operación grafica que copia el área de una imagen para luego dibujarla en cualquier región de la pantalla.

Ø  Gráficas Matemáticas: Dibujan los primitivos barras y sectores para conseguir dibujar las herramientas del sector.

Ø  Texto Gráfico: Sirve para escribir texto en modo grafico, utilizando diferentes fuentes.

Ø  Figuras geométricas:

LINEAS.

void far line(int x1, int y1, int x2, int y2);

Esta función es usada para conectar dos puntos con una línea recta. El primer punto es especificado por los argumentos x1 e y1. El segundo punto es especificado por los argumentos x2 e y2. La línea se dibuja usando el estilo de línea actual, el grosor, y el color actual. La posición del cursor gráfico no es afectada por la función line.


La función line() no retorna ningún valor.
  
Ejemplo:
#include <graphics.h>
#include <conio.h>
void main() {
int driver = EGA,modo = EGAHI;
initgraph( &driver, &modo, "c:\\tc20\\bin" );
line( 20, 40, 350, 100 );
line( 400, 30, 50, 250 );
getch();
closegraph();
}

CIRCULOS.

void far circle(int x, int y, int radio);

Esta función se utiliza para dibujar un círculo. Los argumentos x e y definen el centro del círculo, mientras que el argumento radio define el radio del círculo. El círculo no es rellenado pero es dibujado usando el color actual.


El grosor de la circunferencia puede ser establecido por la función setlinestyle; sin embargo, el estilo de la línea es ignorado por la función circle.

La función circle no retorna ningún valor.

Ejemplo:

#include <graphics.h>
#include <conio.h>
void main() {
int driver = EGA;
int modo = EGAHI;
initgraph( &driver, &modo, "C:\\tc20\\BIN" );
circle( 300, 200, 80 );
getch(); /* Pausa */
closegraph();
}

RECTANGULOS.

void far rectangle(int izquierda,int superior, int derecha, int inferior);

Esta función dibujará un rectángulo sin rellenar su interior usando el color actual. La esquina superior izquierda del rectángulo está definida por los argumentos izquierdos y superiores. Estos argumentos corresponden a los valores x e y de la esquina superior izquierda. Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha del rectángulo. El perímetro del rectángulo es dibujado usando el estilo y grosor de línea actuales.


La función rectangle() no retorna ningún valor.

Ejemplo:

#include <graphics.h>
#include <conio.h>
void main() {
int driver = EGA,modo = EGAHI;
initgraph( &driver, &modo, "C:\\tc20\\bin" );
rectangle( 20, 20, 400, 300 );
getch(); /* Pausa */
closegraph();
}

ARCOS

void far arc(int x, int y,int comienzo_angulo, int final_angulo, int radio);

Esta función creará un arco circular. El arco tiene como centro el punto especificado por los argumentos x e y, y es dibujado con el radio especificado: radio. El arco no está rellanado, pero es dibujado usando el color actual. El arco comienza al ángulo especificado por el argumento comienzo_angulo y es dibujado en la dirección contraria al de las agujas del reloj hasta llegar al ángulo especificado por el argumento final_angulo. La función arc usa el este (extendiéndose hacia la derecha del centro del arco en la dirección horizontal) como su punto de 0 grados. La función setlinestyle puede usarse para establecer el grosor del arco. La función arc, sin embargo, ignorará el argumento trama de la función setlinestyle.

La función arc no retorna ningún valor.

Ejemplo:

#include <graphics.h>
#include <conio.h>
void main() {
int driver = EGA,modo = EGAHI,radio;
initgraph( &driver, &modo, "C:\\tc20\\bin" );
for( radio = 25; radio < 175; radio += 25 )
arc( 320, 175, 45, 135, radio );
getch(); /* Pausa */
closegraph();
}

PIXELES.

void far putpixel(int x, int y, int color);

Esta función es usada para colocar  a un píxel en una posición en particular la cual es cuestionada  por los argumentos x e y. El argumento color específico el valor del color del píxel.

La función putpixel no retorna ningún valor.

Ejemplo:

#include <graphics.h>
#include <conio.h>
void main() {
int driver = EGA,modo = EGAHI,t;
initgraph( &driver, &modo, “c:\\tc20\\bin” );
for( t=0; t<200; t++ )
putpixel( 100+t, 50+t, t%16 );
getch();
closegraph();
}


Tutoriales de Programación Gráfica en C
1.- Programación+gráfica+en+C
2.- Programacion grafica en C

Archivo a descargar: Tema 2

1 comentario: