Gráficos en C

Introducción

Las funciones que llevan acabo los gráficos en C es permitir generar dibujos y presentaciones de los programas en general (es decir, la forma en que lucen al usuario). Las funciones de salida dependen del adaptador y del monitor que se este utilizando. El controlador seleccionado se carga desde el disco durante la inicialización de la biblioteca de gráficos llamado initgraph(), y se necesita incluir la librería #include<graphics.h>

Para Activar el Modo Gráfico un Programa, este debe de empezar llamando a la función initgraph(), que inicializa el paquete de gráficos BGI.

Void far initgraph(far *controlador, int far *modo, char far *camino)

Se carga en la memoria el controlador de gráficos correspondiente al numero determinado por el controlador. El parámetro modo apunta a un entero que especifica el modo de vídeo que van a usar las funciones de gráficos. El parámetro camino especifica el directorio donde se encuentra el controlador. Si no se especifica se busca en el directorio actual. Los archivos BGI deben de estar disponibles en el sistema ya que contienen los controladores gráficos, sin embargo no es necesario preocuparse por el nombre real del archivo, ya que el controlador queda especificado solamente con su número, para ello graphics.h tiene varias macros para esto:

Macro

Equivale a...

DETECT

0

CGA

1

MCGA

2

EGA64

4

EGAMONO

5

IBM8514

6

HERCMONO

7

ATT400

8

VGA

9

PC3270

10

Al usar DETECT, initgraph() detecta automáticamente el tipo de HW de vídeo presente en el sistema y selecciona el modo de vídeo con la resolución adecuada.

Ejemplo de una función que Inicializa Gráficos.

 

Para Desactivar el modo gráfico del programa se usa la función void closegraph(void) que implica la devolución al sistema de la memoria que se utilizaba para tener los controladores y las fuentes gráficas en uso.

La Escritura en Modo Gráfico se puede llevar acabo con las funciones especiales para ello:

Void far outtext(char far *cadena de texto );

Muestra en una pantalla en modo gráfico una cadena de texto en la posición actual (en los modos gráficos no existe un cursor visible, pero la posición actual se conserva como si existiera uno invisible).

Void far outtextxy(int x,int y, char far *cad)

Escribe un texto en la posición determinada por las coordenadas x,y en la ventana gráfica.

Para Cambiar el tipo de letra se usa la función:

Void far settextstyle(int fuente, int direccion, int tamaño_car);

Establece la fuente activa que usaran las funciones de escritura de texto grafico, también se establece la dirección y el tamaño de los caracteres. El parametro fuente determina el tipo de fuente que se va a utilizar. Fuente puede tomar algunos de los siguientes valores: 

 

MACRO

VALOR

TIPO FUENTE

DEFAULT_FONT

0

Mapa de bits 8x8.

TRIPLEX_FONT

1

Fuente trazada triple.

SMALL_FONT

2

Fuente trazada pequeña.

SANS_SERIF_FONT

3

Fuente trazada sans serif.

GOTHIC_FONT

4

Fuente trazada gótica.

El parámetro dirección refiere a la forma de desplegarse, ya sea de izquierda a derecha o de arriba hacia abajo, se determina mediante el valor HORIZ_DIR (0) o VERT_DIR (1).

El parámetro tamaño es un multiplicador que aumenta el tamaño de los caracteres. Puede tomar valores de 0 a 10.Cabe mencionar que las coordenadas de pantalla modo texto y gráfico cambian de la siguiente manera:

Modo Gráfico.

Modo Texto.

Modalidades de Video Disponibles

Constante

Características

Modo

Adaptador

_DEFAULTMODE

Volver al modo original

Ambos

Todos

_TEXTBW40

40 cols. Texto, 16 grises

Texto

CGA

_TEXTC40

40 cols. Texto, 16/8 colores

Texto

CGA

_TEXTBW80

80 cols. Texto, 16 grises

Texto

CGA

_TEXTC80

80 cols. Texto, 16/8 colores

Texto

CGA

_MRES4COLOR

320 x 200 pixels, 4 colores

Gráficos

Todos

_MRESNOCOLOR

320 x 200 pixels, 4 grises

Gráficos

CGA

_HRESBW

640 x 200 pixels, BW

Gráficos

CGA

_TEXTMONO

80 cols. Texto, BW

Texto

MDPA

_HERCMONO

720 x 348 pixels, BW para HCG

Gráficos

HGC

_MRES16COLOR

320 x 200 pixels, 16 colores

Gráficos

EGA

_HRES16COLOR

640 x 200 pixels, 16 colores

Gráficos

EGA

_ERESNOCOLOR

640 x 350 pixels, BW

Gráficos

EGA

_ERESCOLOR

640 x 350 pixels, 4 o16 colores

Gráficos

EGA

_VRES2COLOR

640 x 480 pixels, BW

Gráficos

VGA

_VRES16COLOR

640 x 480 pixels, 16 colores

Gráficos

VGA

_MRES256COLOR

320 x 200 pixels, 256 colores

Gráficos

VGA

_ORESCOLOR

640 x 400 pixels, 1 o16 colores

(Olivetti)

Grafs.

 

_MAXRESMODE selecciona el modo de video de más alta resolución de entre todos los soportados por nuestro hardware.

_MAXCOLORMODE Selecciona el modo de video que soporte más colores de entre todos los soportados por nuestro hardware.

*Estas dos constantes soportan todos los adaptadores, excepto MDPA.

           

Para seleccionar una modalidad de video de las anteriores, disponemos de la función:

_setvideomode(constante);

            Antes de salir del programa gráfico, debemos restaurar la modalidad de video original con la función:

_setvideomode(_DEFAULTMODE);

 

Estructura para almacenar la configuración de video

 

Los parámetros de la configuración seleccionada se almacenan en una estructura de tipo videoconfig, con el fin de utilizarlos con otras funciones gráficas y para asegurar la portabilidad a otras configuraciones (CGA, EGA o VGA). Esta operación se realiza mediante la función _getvideoconfig().

 

Almacenar Caracteres

Función sprintf()

            Esta función almacena valores y series de caracteres con formato en una memoria intermedia (buffer).

#include<stdio.h>

int sprintf(buffer, formato[,arg]…);

char *buffer;

const char *formato;

 

            La función sprintf() devuelve el número de caracteres almacenados en buffer, sin incluir el carácter de terminación \0.

 

            Los argumentos formato y arg tienen el mismo significado que en la función printf().

 

Colores en modo Texto

Existen 2 modalidades de video para texto en color: _TEXTC40 y _TEXTC80, las cuales pueden ser utilizadas con los adaptadores CGA, MCGA, EGA y VGA. Estos modos proporcionan 16 colores para el primer plano y 8 colores de fondo.

Número

Color

Constante

Número

Color

Constante

0

Negro

_BLACK

8

Gris

_GRAY

1

Azul

_BLUE

9

Azul Claro

_LIGHTBLUE

2

Verde

_GREEN

10

Verde Claro

_LIGHTGREEN

3

Cyan

_CYAN

11

Cyan Claro

_LIGHTCYAN

4

Rojo

_RED

12

Rojo Claro

_LIGHTRED

5

Magenta

_MAGENTA

13

Magenta Claro

_LIGHTMAGENTA

6

Café

_BROWN

14

Amarillo

_LIGHTYELLOW

7

Blanco

_WHITE

15

Blanco Intenso

_LIGHTWHITE

*Para el fondo es válido cualquier color del 0 al 7.

 

 Para seleccionar el color de fondo disponemos de la función:

_setbkcolor(constante);

Para escribir un texto en un color determinado, seleccionar primero el color                 ( _settextcolor(constante) ) y a continuación visualizar el texto ( _outtext(buffer) ).

 

Funciones de la Librería Graphics

Función arc Borland® C

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.

 

 

Función cleardevice Borland® C

void far cleardevice(void);

Esta función es usada para despejar una pantalla gráfica. La función cleardevice usa el color de fondo actual, como es establecido por la función setbkcolor, para rellenar la pantalla. La posición del cursor gráfico es la esquina superior izquierda de la pantalla - posición (0,0) - después de que la pantalla haya sido borrado.

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

 

Función drawpoly Borland® C

void far drawpoly(int numpuntos, int far *puntos);

Esta función es usada para crear un polígono con un número especificado de puntos. El argumento numpuntos es usado para definir el número de puntos en el polígono. Para la función drawpoly, el número de puntos debe ser el número actual de puntos más 1 para poder crear un polígono cerrado. En otras palabras, el primer punto debe ser igual al último punto. El argumento *puntos apunta a un array de números de longitud numpuntos multiplicado por 2. Los dos primeros miembros del array identifica las coordenadas x e y del primer punto, respectivamente, mientras que los dos siguientes especifican el siguiente punto, y así sucesivamente. La función drawpoly dibuja el perímetro del polígono con el estilo de línea y color actuales, pero no rellena el polígono.

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

 

Función floodfill Borland® C

void far floodfill(int x, int y, int borde);

Esta función es usada para rellenar un área cerrado con el color de relleno y trama de relleno actuales. Los argumentos x e y especifican el punto de comienzo para el algoritmo de relleno. El argumento borde especifica el valor del color del borde del área. Para que la función fillpoly funcione como es esperado, el área a ser rellenado debe estar rodeada por el color especificado por el argumento borde. Cuando el punto especificado por los argumentos x e y se encuentra dentro del área a ser rellenada, el interior será rellenado. Si se encuentra fuera del área, el exterior será rellenada. 

Nota: Esta función no funciona con el driver IBM-8514.

 

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

 

 

Función getcolor Borland® C

int far getcolor(void);

Esta función obtiene el valor del color actual. El color actual es el color usado para dibujar líneas, arcos, etc.. Este color no es el mismo que el color de relleno. El valor del color obtenido es interpretado según el modo que esté en uso.

 ciertos colores de fondo.

La función getcolor retorna el valor del color actual.

 

Función getfillsettings Borland® C

void far getfillsettings(struct fillsettingstype far *info);

Esta función es usada para obtener la información de tramas de relleno. El argumento *info apunta a una estructura de tipo fillsettingstype, el cual es actualizado cuando se llama a la función getfillsettings. La estructura es:

struct fillsettingstype
{
   int pattern;
   int color;
};

El campo pattern es la trama y el campo color es el color de relleno de la trama.

La función getfillsettings no retorna ningún valor, directamente.

 

Función getmaxcolor Borland® C

int far getmaxcolor(void);

Esta función es usada para obtener el valor más alto de color en la paleta actual. La paleta en uso depende del dispositivo y modo inicializados. Para los modos de 16 colores, el valor de retorno es 15. Similarmente, para los modos de dos colores, el valor de retorno es 1.

 

La función getmaxcolor retorna el valor máximo del color en la paleta en uso.

 

Función getmodename Borland® C

char *far getmodename(int num_modo);

 

Esta función es usada para obtener el nombre del modo gráfico especificado por el argumento num_modo.

La función getmodename retorna el nombre del modo gráfico que está contenido en todos los dispositivos gráficos.

 

Función getpixel Borland® C

unsigned far getpixel(int x, int y);

Esta función es usada para obtener el valor del color del píxel especificado por los argumentos x e y. Estos argumentos especifican las coordenadas de la pantalla del píxel a ser evaluado. Cuando se evalúa el valor del color retornado, el modo gráfico en uso debe ser considerado.

 

La función getpixel retorna el número del color del píxel especificado.

 

Función gety Borland® C

int far gety(void);

Esta función es usada para obtener la posición, en la dirección vertical, del cursor gráfico. El valor retornado especifica el lugar del píxel vertical del cursor gráfico (la coordenada y), relativo a la pantalla del usuario actual.

 

La función gety retorna la coordenada y del cursor gráfico.

 

Función _graphgetmem Borland® C

void far * far _graphgetmem(unsigned tamanyo);

Esta función es usada por la librería gráfica para adjudicar memoria gráfica para búfers internos, dispositivos gráficos, y fuentes. Esta función tiene como intención ser llamada por la librería gráfica cuando se quiere adjudicar memoria. Por defecto, la función simplemente llama a malloc, pero se puede controlar la administración de memoria de la librería gráfica. La forma de hacer esto es simplemente creando la definición de la función, con el mismo prototipo mostrado aquí.

 

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

 

Función installuserdriver Borland® C

int far installuserdriver(char far *nombre, int huge (*detectar)(void));

Esta función permite al usuario añadir dispositivos adicionales de otras compañías o grupos a la tabla interna BGI de los dispositivos. El argumento *nombre define el nombre del fichero nuevo del dispositivo .BGI. El parámetro *detectar es un puntero a una función opcional para autodetectar que puede ser o no ser provisto con el dispositivo nuevo. La función de autodetectación espera no recibir ningún parámetro y retorna un valor entero.

 

La función installuserdriver retorna el parámetro del número del dispositivo que hubiese sido pasado a la función initgraph para seleccionar un dispositivo nuevo.

 

Función lineto Borland® C

void far lineto(int x, int y);

Esta función es usada para dibujar una línea recta desde la posición actual del cursor gráfico hasta el punto especificado por los argumentos x e y. La línea se dibuja usando el estilo de línea actual, el grosor, y el color actual. Después de que la línea recta haya sido dibujado, la posición del cursor gráfico es actualizado a la posición especificado por los argumentos x e y (el punto final de la línea).

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

 

Función outtextxy Borland® C

void far outtextxy(int x, int y, char far *cadena_texto);

Esta función es usada para mostar una cadena de caracteres. El argumento *cadena_texto define la cadena de texto a ser mostrado. La cadena es mostrada en la posición descrita por los argumentos x e y usando el color actual y fuente, dirección, valores, y justificaciones de texto. Cuando se use la fuente por defecto, cualquier texto que se extiende fuera del área gráfica actual es truncado.

 

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

 

Función rectangle Borland® C

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 izquierda y superior. 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.

 

Función sector Borland® C

void far sector(int x, int y, int comienzo_angulo, int final_angulo, int x_radio, int y_radio);

Esta función es usada para dibujar una cuña elíptica. El centro de la cuña elíptica es especificado por los argumentos x e y. El argumento x_radio especifica el radio horizontal y el argumento y_radio especifica el radio vertical de la cuña elíptica. La cuña elíptica 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 cuña elíptica es dibujado con el perímetro en el color actual y rellenada con el color de relleno y la trama de relleno actuales.

 

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

 

Función setbkcolor Borland® C

void far setbkcolor(int color);

Esta función es usada para asignar el color de fondo al valor del color de fondo especificado por el argumento color.

 

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

 

Función setgraphbufsize Borland® C

unsigned far setgraphbufsize(unsigned bufer_tam);

Esta función es usada para cambiar el tamaño del búfer gráfico interno como es asignado por la función initgraph cuando el sistema gráfico es inicializado. El búfer gráfico es usado por varias funciones gráficos; por ello, se debería tener un mayor cuidado cuando se altera este búfer del tamaño por defecto de 4096. La función setgraphbufsize se debería llamar antes de llamar a la función initgraph.

 

La función setgraphbufsize retorna el tamaño anterior del búfer gráfico interno.

 

Función setrgbpalette Borland® C

void far setrgbpalette(int num_paleta, int rojo, int verde, int azul);

Esta función es para usarse con los dispositivos de IBM 8514 y VGA. El argumento num_paleta especifica el miembro de la paleta a ser modificado. Para la IBM 8514 (y para el modo de 256K de la VGA), el intervalo de la paleta es de 0 á 255. Para los modos de VGA, el intervalo es de 0 á 15. Los argumentos rojo, verde, y azul especifican la intensidad del color para el miembro de la paleta. De cada byte (de cada argumento) sólo los seis bits más signifcativos son cargados en la paleta.

Por razones de compatibilidad con otros adaptadores gráficos de IBM, el dispositivo BGI define las primeras dieciséis entradas a la paleta de la IBM 8514 a los colores por defecto de la EGA/VGA.

Nota: Recuerda que todos los cambios hechos a la paleta tiene un efecto visual inmediato y que la función setrgbpalette no debería usarse con el dispositivo IBM-8514.

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

 

Función setviewport Borland® C

void far setviewport(int izquierda, int superior, int derecha, int inferior, int recorte_banderin);

Esta función es usada para definir el área gráfico. La esquina superior izquierda del área gráfica está definida por los argumentos izquierda y superior. 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 área gráfica. El argumento recorte_banderin define si los datos para la salida gráfica serán recortados por el borde del área gráfico. Un valor de 0 para recorte_banderin indica que los datos de salida no serán recortados, mientras que un valor distinto a 0 indica que los datos serán recortados. Cuando el área gráfica es incializada, la posición del cursor será mudado a la posición (0,0) (la esquina superior izquierda). Todos los datos de salida después de que el área gráfica haya sido inicializada serán con relación a este punto. El área gráfica por defecto cubre la pantalla entera.

 

La función setviewport no retorna ningún valor; sin embargo, si los valores pasados son inválidos, entonces la función graphresult retorna grError (-11) y el área gráfica no será alterada.

 

Función textwidth Borland® C

int far textwidth(char far *texto);

Esta función es usada para determinar la anchura, en píxels, de la cadena de texto especificada por el argumento *texto. La anchura del texto se determina usando la fuente actual y el tamaño del carácter.

 

La función textwidth retorna la anchura, en píxels, del texto especificado por el argumento.

 

Función bar Borland® C

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

Esta función dibujará una barra rectangular y rellenada de dos dimensiones. La esquina superior izquierda de la barra rectangular está definida por los argumentos izquierda y superior. 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 de la barra. La barra no tiene borde, pero es rellenada con la trama de relleno actual y el color de relleno como es establecido por la función setlinestyle.

 

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

 

Función clearviewport Borland® C

void far clearviewport(void);

Esta función es usada para rellenar la pantalla actual del usuario con el color de fondo actual. El color de fondo puede ser establecido con la función setbkcolor. La posición del cursor gráfico es la esquina superior izquierda de la pantalla actual del usuario. Esta posición es (0,0) según la pantalla actual del usuario.

 

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

 

Función ellipse Borland® C

void far ellipse(int x, int y, int comienzo_angulo, int final_angulo, int x_radio, int y_radio);

Esta función es usada para dibujar un arco elíptico en el color actual. El arco elíptico está centrado en el punto especificado por los argumentos x e y. Ya que el arco es eilptíco el argumento x_radio especifica el radio horizontal y el argumento y_radio especifica el radio vertical. El arco elíptico comienza con el ángulo especificado por el argumento comienzo_angulo y se extiende en un sentido contrario a las agujas del reloj al ángulo especificado por el argumento final_angulo. La función ellipse considera este - el eje horizontal a la derecha del centro del elipse - ser 0 grados. El arco elíptico es dibujado con el grosor de línea actual como es establecido por la función setlinestyle. Sin embargo, el estilo de línea es ignorado por la función ellipse.

 

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

 

Función getarccoords Borland® C

void far getarccoords(struct arccoordstype far *coordenadas_arco);

Esta función es usada para recoger las coordenadas del centro, y los puntos del comienzo y final de la última llamada con éxito a la función arc. El argumento *coordenadas_arco apunta a la estructura de tipo arccoordstype que guarda la información recogida. La síntaxis de la estructura arccoordstype es:

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.

 

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

 

Función getdefaultpalette Borland® C

struct palettetype far *getdefaultpalette(void);

Esta función es usada para obtener una estructura que define la paleta según el dispositivo en la inicialización - esto es, cuando se llama a initgraph. La estructura palettetype se define de la siguiente manera:

#define MAXCOLORS 15
 
struct palettetype
{
   unsigned char size;
   signed char colors[MAXCOLORS+1];
}

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.

 

La función getdefaultpalette retorna un puntero a una estructura del tipo palettetype.

 

Función getgraphmode Borland® C

int far getgraphmode(void);

Esta función es usada para obtener el valor del modo gráfico actual. El dispositivo actual debe ser considerado cuando se interprete el valor de retorno. Esta función sólo debería ser llamada después de que el sistema gráfico haya sido inicialiazado con la función initgraph.

 

La función getgraphmode retorna el modo gráfico como es establecido por initgraph o setgraphmode.

 

Función getmaxmode Borland® C

int far getmaxmode(void);

Esta función es usada para determinar el valor más alto del modo gráfico para el dispositivo actual. El mayor valor del modo generalmente representa el modo con la resolución más alta.

 

La función getmaxmode retorna el valor máximo del modo gráfico para el dispositivo actual.

 

Función getmoderange Borland® C

void far getmoderange(int driver, int far *modo_bajo, int far *modo_alto);

Esta función es usada para obtener los valores altos y bajos del modo gráfico del dispositivo especificado por el argumento driver. El valor más bajo del modo es retornado en *modo_bajo, y el valor más alto del modo es retornado en *modo_alto. Si el dispositivo especificado es inválido, el valor de -1 es retornado en ambos argumentos: *modo_bajo y *modo_alto. Sin embargo, si el argumento driver es asignado -1, los modos alto y bajo del dispositivo actual son retornados.

 

La función getmoderange no retorna ningún valor, directamente.

 

Función gettextsettings Borland® C

void far gettextsettings(struct textsettingstype far *info);

Esta función es usada para obtener información acerca de la fuente gráfica actual. Esta información es guardada en una estructura de tipo textsettingstype, la cual es apuntada por el argumento *info. 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. La síntaxis de la estructura textsettingstype es la siguiente:

struct textsettingstype
{
   int font;
   int direction;
   int charsize;
   int horiz;
   int vert;
};

Existen varios valores para describir el tipo, la orientación, y justificación de fuentes.

 

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

 

Función graphdefaults Borland® C

void far graphdefaults(void);

Esta función es usada para reiniciar todos los datos gráficos a sus valores originales, o por defecto. La función graphdefaults reinicia la pantalla del usuario para que cubra la pantalla entera, mueve el cursor a la posición (0,0), y reinicia la paleta actual a sus colores por defecto. También reinicia el color de fondo y el actual a sus valores por defecto, reinicia el estilo y trama de relleno a sus valores por defecto, y reinicia la fuente y justificación de texto.

 

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

 

Función graphresult Borland® C

int far graphresult(void);

Esta función obtiene y retorna el código de error para la última llamada sin éxito. Además, reinicia el nivel de error a 0, o grOk.

Existen varios valores de códigos de error.

La función graphresult retorna el código de error de la última llamada gráfica sin éxito.

 

Función installuserfont Borland® C

int far installuserfont(char far *nombre);

Esta función carga un fichero de fuente escalable que no está provisto con el sistema BGI. El parámetro *nombre especifica el nombre del fichero fuente a cargar, en el directorio de inicio. El sistema gráfico puede tener hasta veinte fuentes instaladas a la vez.

La función installuserfont retorna el número de identificación de la fuente que es usada para selccionar la fuente nueva a través de la función settextstyle. Si la tabla interna de fuentes está llena, un valor de -11 (grError) es retornado, indicando un error.

 

Función installuserfont Borland® C

int far installuserfont(char far *nombre);

Esta función carga un fichero de fuente escalable que no está provisto con el sistema BGI. El parámetro *nombre especifica el nombre del fichero fuente a cargar, en el directorio de inicio. El sistema gráfico puede tener hasta veinte fuentes instaladas a la vez.

La función installuserfont retorna el número de identificación de la fuente que es usada para selccionar la fuente nueva a través de la función settextstyle. Si la tabla interna de fuentes está llena, un valor de -11 (grError) es retornado, indicando un error.

 

Función pieslice Borland® C

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

Esta función es usada para dibujar y rellenar un una cuña circular. La cuña circular está centrada en el punto especificado por los argumentos x e y. La porción circular de la cuña comienza con el ángulo especificado por el argumento comienzo_angulo y se extiende en un sentido contrario a las agujas del reloj al ángulo especificado por el argumento final_angulo. La función pieslice considera este - el eje horizontal a la derecha del centro - como su punto de referencia de 0 grados. El perímetro de la cuña es dibujado con el color actual y es rellenado con la trama y color de relleno actual.

 

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

 

Función registerbgidriver Borland® C

int registerbgidriver(void (*driver)(void));

Esta función es usada para cargar y registrar un dispositivo gráfico. El argumento *driver apunta a un dispositivo. Un fichero de dispositivo registrado puede ser tanto cargado desde el disco o convertido en un formato .OBJ y ligado (o enlazado) dentro del programa. Registrando el dispositivo de esta manera, el fichero .EXE no depende de un fichero externo de dispositivo para poder ejecutarse.

 

La función registerbgidriver retorna número del dispositivo cuando tiene éxito. Un código de error, un número negativo, es retornado si el dispositivo especificado es inválido.

 

Función setactivepage Borland® C

void far setactivepage(int pagina);

Esta función es usada para especificar un número de página que representa una sección de memoria del vídeo donde todos los datos gráficos para mostrar son enviados. Está sección de memoria se denomina una página activa. El argumento pagina especifica el número de la página activa. Para usar esta función con eficacia, el adaptador de vídeo usado debe ser EGA o VGA y tener suficiente memoria para soportar múltiples páginas para gráficos. Esta función es usada con la función setvisualpage para dibujar páginas no visuales y para crear animación.

 

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

 

Función setcolor Borland® C

void far setcolor(int color);

Esta función asigna el valor del color especificado por el argumento color al valor del color actual. El color actual es usado para dibujar líneas, arcos, etc.. Este color no es el mismo que el color de relleno.

Existen varios valores para ciertos colores de fondo.

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

 

Función setgraphmode Borland® C

void far setgraphmode(int modo);

Esta función es usada para seleccionar el modo gráfico actual pero solamente cuando el sistema gráfico haya sido inicializado con la función initgraph. El argumento modo define el modo a usar según el dispositivo actual. Además de seleccionar un nuevo modo, la función setgraphmode despeja la pantalla y reinicia todas las opciones gráficas a sus valores por defecto. Esta función suele usarse conjuntamente con restorecrtmode para cambiar entre modos gráficos y de texto.

 

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

 

Función settextjustify Borland® C

void far settextjustify(int horizontal, int vertical);

Esta función es usada para especificar el método en el cual el texto es colocado en la pantalla con relación a la posición del cursor. El argumento horizontal define la justificación horizontal, mientras que el argumento vertical indica la justificación vertical.

Existen varios valores y constantes para las justificaciones.

La función settextjustify no retorna ningún valor; sin embargo, si los valores pasados son inválidos, entonces la función graphresult retorna grError (-11) y la paleta no es alterada.

 

Función setvisualpage Borland® C

void far setvisualpage(int pagina);

Esta función es usada para establecer la página visual como es especificado por el argumento pagina. Una página es una sección de memoria donde se guarda la información del vídeo. Cuando se usa con un sistema (EGA o VGA) con suficiente memoria de vídeo para soportar múltiples páginas de gráficos, la función setvisualpage (junto con la función setactivepage) perimte al programador crear gráficos en páginas escondidas y pasar de página entre las que se han definido con información gráfica. Esto es la base para crear animación.

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

Función bar3d Borland® C

void far bar3d(int izquierda, int superior, int derecha, int inferior, int profundidad, int banderin_tapa);

Esta función creará una barra rectangular y rellenada de tres dimensiones. La esquina superior izquierda de la barra rectangular más frontal está definida por los argumentos izquierda y superior. Estos argumentos corresponden a los valores x e y de la esquina superior izquierda del rectángulo más frontal. Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha del rectángulo más frontal. La barra tiene borde, en todas las tres dimensiones, rellenada con el color y estilo de línea actuales. El rectángulo más frontal es rellenado usando la trama de relleno actual y el color de relleno como es establecido por la función setlinestyle. El argumento banderin_tapa es usado para especificar si es o no es posible apilar varias barras encima de cada una. Si banderin_tapa tiene un valor distinto a cero, entonces la barra está "tapada". Si banderin_tapa tiene un valor de cero, entonces la barra no está "tapada", permitiendo otras barras ser apiladas encima de ésta.

 

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

 

Función closegraph Borland® C

void far closegraph(void);

Esta función es usada para cerrar el sistema gráfico como es iniciada por la función initgraph. La función closegraph libera toda la memoria usada por el sistema gráfico y luego restaura el modo de vídeo al modo de texto que estaba en uso anteriormente a la llamada a la función initgraph.

 

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

 

Función fillellipse Borland® C

void far fillellipse(int x, int y, int x_radio, int y_radio);

Esta función es usada para dibujar y rellenar una elipse. El centro de la elipse es especificado por los argumentos x e y. El argumento x_radio especifica el radio horizontal y el argumento y_radio especifica el radio vertical de la elipse. La elipse es dibujado con el perímetro en el color actual y rellenada con el color de relleno y la trama de relleno actuales.

 

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

 

Función getaspectratio Borland® C

void far getaspectratio(int far *x_proporcion, int far *y_proporcion);

Esta función es usada para obtener la proporción anchura-altura del modo gráfico actual. La proporción anchura-altura puede definirse como la proporción de la anchura del píxel del modo gráfico y la altura del píxel. Esta proporción, usando los modos gráficos existentes, es siempre menor o igual que 1. El valor para determinar la proporción anchura-altura con respecto al eje horizontal es retornado en el argumento *x_proporcion. Similarmente, el valor para el eje vertical es retornado en el argumento *y_proporcion. El argumento *y_proporcion es asignado 10000, el cual es retornado cuando se llama a la función getaspectratio. El argumento *x_proporcion es casi siempre menor que el valor de *y_proporcion. Esto es debido al hecho de que la mayoría de los modos gráficos tiene píxels más altos que anchos. La única excepción es en los modos de VGA que produce píxels cuadrados; es decir, x_proporcion = y_proporcion.

 

La función getaspectratio no retorna ningún valor, directamente.

 

Función getdrivername Borland® C

char *far getdrivername(void);

Esta función es usada para obtener una cadena de caracteres que contiene el nombre del dispositivo gráfico actual. Este función debería ser llamada después de que un dispositivo haya sido definido e inicializado - esto es, después de llamar a initgraph.

 

La función getdrivername retorna una cadena de caracteres conteniendo el nombre del dispositivo gráfico.

 

Función getimage Borland® C

void far getimage(int izquierda, int superior, int derecha, int inferior, void far *imagen);

Esta función es usada para guardar una porción rectangular de la pantalla para un uso posterior. La esquina superior izquierda del área rectangular que ha de ser guardada está definida por los argumentos izquierda y superior. Estos argumentos representan las coordenades x e y de la esquina superior izquierda, respectivamente. Los argumentos derecha e inferior definen la esquina inferior derecha de la imagen rectangular. Estos argumentos definen las coordenades x e y de la esquina inferior derecha, respectivamente. El argumento *image apunta al búfer de memoria donde la imagen está guardada.

 

La función getimage no retorna ningún valor, directamente.

 

Función getmaxx Borland® C

int far getmaxx(void);

Esta función es usada para obtener la coordenada máxima de la pantalla en la dirección horizontal. Este valor suele ser la resolución horizontal máxima menos 1.

 

La función getmaxx retorna la coordenada máxima de la pantalla en la dirección horizontal.

 

Función getmaxx Borland® C

int far getmaxx(void);

Esta función es usada para obtener la coordenada máxima de la pantalla en la dirección horizontal. Este valor suele ser la resolución horizontal máxima menos 1.

La función getmaxx retorna la coordenada máxima de la pantalla en la dirección horizontal.

Función getviewsettings Borland® C

void far getviewsettings(struct viewporttype far *info);

Esta función es usada para obtener información acerca del área gráfica actual. Esta información es guardada en una estructura de tipo viewporttype, la cual es apuntada por el argumento *info. 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. La síntaxis de la estructura viewporttype es la siguiente:

struct viewporttype
{
   int left, top;
   int right, bottom;
   int clip;
};

 

La función getviewsettings no retorna ningún valor, directamente.

 

Función grapherrormsg Borland® C

char *far grapherrormsg(int codigo_error);

Esta función es usada para obtener una cadena de caracteres conteniendo el mensaje de error para un código de error especificado. El argumento codigo_error especifica el valor del código de error. La función graphresult debe ser usada para obtener el código de error usado para el argumento codigo_error.

 

La función grapherrormsg retorna una cadena de caracteres.

 

Función imagesize Borland® C

unsigned far imagesize(int izquierda, int superior, int derecha, int inferior);

Esta función es usada para determinar el tamaño del búfer necesitado para almacenar una imagen con la función getimage. Los argumentos izquierda y superior definen las coordenadas x e y de la esquina superior izquierda de la imagen rectangular. Similarmente, los argumentos derecha y inferior definen las coordenadas x e y de la esquina inferior derecha de la imagen rectangular.

 

La función imagesize retorna el número actual de bytes necesarios si el tamaño requerido es menor que 64 Kb menos 1 byte. Si esto no es el caso, el valor retornado es 0xFFFF, ó -1.

 

Función line Borland® C

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 afectado por la función line.

 

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

 

Función moveto Borland® C

void far moveto(int x, int y);

Esta función es usada para colocar el cursor gráfico al punto especificado por los argumentos x e y. Ya que el cursor es movido desde su posición anterior al punto especificado por los argumentos x e y, no hay dibujo alguno.

 

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

 

Función putimage Borland® C

void far putimage(int izquierda, int superior, void far *imagen, int accion);

Esta función coloca una imagen que fue previamente guardada con la función getimage en la pantalla. La esquina superior izquierda donde será colocada la imagen está definida por los argumentos izquierda y superior. Estos argumentos representan las coordenades x e y de la esquina superior izquierda, respectivamente. El argumento *image apunta al búfer de memoria donde la imagen está guardada. La imagen se coloca en la pantalla con la acción defindia en el argumento accion. Los valores y consonantes usados por el argumento accion se describen a continuación:
 

Constante

Valor

Significado

COPY_PUT

0

Sobrescribir los píxels existentes

XOR_PUT

1

Operación OR Exclusivo con los píxels

OR_PUT

2

Operación OR Inclusivo con los píxels

AND_PUT

3

Operación AND con los píxels

NOT_PUT

4

Invertir la imagen

 

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

 

 

Función registerbgifont Borland® C

int registerbgifont(void (*fuente)(void));

Esta función es usada para informar al sistema que la fuente apuntada por el argumento *fuente fue incluida durante el enlazo. Un fichero de fuente registrado ha de ser convertido en un fichero objeto .OBJ y ligado (o enlazado) dentro del programa. Registrando la fuente de esta manera, el fichero .EXE no depende de un fichero externo de fuentes para poder ejecutarse.

Nota: La fuente de defecto es la única que está disponible en el programa, ya que forma parte del sistema gráfico; no es necesario ligarlo al programa.

La función registerbgifont retorna número del dispositivo cuando tiene éxito. Un código de error, un número negativo, es retornado si el dispositivo especificado es inválido.

 

Función setallpalette Borland® C

void far setallpalette(struct palettetype far *paleta);

Esta función es usada para asignar la paleta actual a la paleta definida en la estructura del tipo palettetype que es apuntado por el argumento *paleta. Todos los colores de la paleta actual son asignados a aquéllos definidos en la estructura palettetype. La síntaxis de la estructura palettetype es:

#define MAXCOLORS 15
 
struct palettetype
{
   unsigned char size;
   signed char colors[MAXCOLORS+1];
}

El campo size indica el número de colores de la paleta actual. El campo colors es un array que contiene los valores numéricos que representan los colores que ofrece el dispositivo en su paleta de colores. Si la entrada de cualquier elemento del array es -1, el valor del color de ese elemento no cambiará.

Nota: Recuerda que todos los cambios hechos a la paleta tiene un efecto visual inmediato y que la función setallpalette no debería usarse con el dispositivo IBM-8514.

La función setallpalette no retorna ningún valor; sin embargo, si los valores pasados son inválidos, entonces la función graphresult retorna grError (-11) y la paleta no es alterada.

 

Función setfillpattern Borland® C

void far setfillpattern(char far *trama, int color);

Esta función es usada para seleccionar una trama de relleno definido por el usuario. El argumento *trama apunta a una serie de ocho bytes que representa una trama de relleno de bits de 8 x 8. Cada byte representa una fila de ocho bits, donde cada bit está encendido o no (1 ó 0). Un bit de 0 indica que el píxel correspondiente será asignado el color de relleno actual. Un bit de 0 indica que el píxel correspondiente no será alterado. El argumento color especifica el color de relleno que será usado para la trama.

 

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

 

Función setlinestyle Borland® C

void far setlinestyle(int estilo, unsigned trama, int grosor);

Esta función es usada para definir las características de líneas para líneas rectas.

El argumento estilo especifica la trama de línea predefinida para su uso. El argumento trama es una trama de 16 bits que describe el estilo de línea cuando el argumento estilo es USERBIT_LINE, ó 4. 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 argumento grosor define el grosor de la línea.

Existen varios valores para los diferentes estilos y grosores de líneas rectas.

La función setlinestyle no retorna ningún valor; sin embargo, si un argumento es inválido, entonces la función graphresult retorna grError (11).

 

 

Función settextstyle Borland® C

void far settextstyle(int fuente, int orientacion, int tam_caracter);

Esta función es usada para especificar las características para la salida de texto con fuente. El argumento fuente especifica la fuente registrada a usar. La fuente ha de estar registrada para resultados predecibles; es decir, usa registerbgifont antes de usar esta función. El argumento orientacion especifica la orientación en que el texto ha de ser mostrado. La orientación por defecto es HORIZ_DIR. El argumento tam_caracter define el factor por el cual la fuente actual será multiplicada. Un valor distinto a 0 para el argumento tam_caracter puede ser usado con fuentes escalables o de bitmap. Sin embargo, un valor distinto a 0 para el argumento tam_caracter, el cual selecciona el tamaño del carácter definido por el usuario usando la función setusercharsize, solamente funciona con fuentes escalables. El argumento tam_caracter puede agrandar el tamaño de la fuente hasta 10 veces su tamaño normal.

Existen varios valores y constantes para las justificaciones.

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

 

Función setwritemode Borland® C

void far setwritemode(int modo);

Esta función es usada para establecer el modo lógico de escritura para líneas rectas. El argumento modo especifica el modo de escritura, el cual determina la interacción entre valores de píxels existentes y los valores de píxels en la línea.

Existen dos valores para los modos de escritura.

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

 

Función circle Borland® C

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

Esta función se usas 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 proporción anchura-altura para el modo actual es considerado cuando se calcula el círculo. Por esta razón, alterando los valores de defecto x e y de los factores de anchura-altura afectará el círculo (ya no seguirá siendo redondo).

 

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

 

Función detectgraph Borland® C

void far detectgraph(int far *driver, int far *modo);

Esta función es usada para detectar el adaptador gráfico y el modo óptimo para usar con el sistema en uso. Si la función detectgraph no puede detectar ningún dispositivo gráfico, el argumento *driver es asignado grNotDetected (-2). Una llamada a graphresult resultará en un valor de retorno de -2, o grNotDetected.

Existen varios valores que indican los diferentes dispositivos gráficos que pueden ser usados por el argumento *driver. Un valor de 0, o DETECT, inicia la funcionalidad de autodetección, el cual determina el driver óptimo a usar.

Para cada dispositivo existen varios valores que indican los diferentes modos gráficos que pueden ser usados por el argumento *modo. Sin embargo, si el argumento *driver es asignado el valor de 0, o DETECT, el argumento *modo es automáticamente establecido al modo de resolución mas alto para el driver.

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

 

Función fillpoly Borland® C

void far fillpoly(int numpuntos, int far *puntos);

Esta función es usada para crear un polígono rellenado. El argumento numpuntos es usado para definir el número de puntos en el polígono. Al contrario que la función drawpoly, la función automáticamente cierra  el polígono. El argumento *puntos apunta a un array de números de longitud numpuntos multiplicado por 2. Los dos primeros miembros del array identifica las coordenadas x e y del primer punto, respectivamente, mientras que los dos siguientes especifican el siguiente punto, y así sucesivamente. La función fillpoly dibuja el perímetro del polígono con el estilo de línea y color actuales. Luego, el polígono es rellenado con la trama de relleno y color de relleno actuales.

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

 

Función getbkcolor Borland® C

int far getbkcolor(void);

Esta función es usada para obtener el valor del color de fondo actual. El color de fondo, por defecto, es el color 0. Sin embargo, este valor puede cambiar con una llamada a la función setbkcolor.

Existen varios valores para ciertos colores de fondo.

La función getbkcolor retorna el valor del color de fondo actual.

 

Función getfillpattern Borland® C

void far getfillpattern(char far *trama);

Esta función es usada para obtener una trama de relleno definido por el usuario, como es definida por la función setfillpattern, y la guarda en memoria. El argumento *trama es un puntero a una serie de ocho bytes que representa una trama de relleno de bits de 8 x 8. Cada byte representa una fila de ocho bits, donde cada bit está encendido o no (1 ó 0). Un bit de 0 indica que el píxel correspondiente será asignado el color de relleno actual. Un bit de 0 indica que el píxel correspondiente no será alterado.

La función getfillpattern no retorna ningún valor, directamente.

 

Función getlinesettings Borland® C

void far getlinesettings(struct linesettingstype far *info);

Esta función obtiene la información actual para las líneas. Esta información es guardada en una estructura de tipo linesettingstype que es apuntado por el argumento *info. El estilo de línea, trama, y grosor actuales son guardados en esta estructura. La síntaxis para la estructura linesettingstype:

struct linesettingstype
{
   int linestyle;
   unsigned upattern;
   int thickness;
}

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.

La función getlinesettings no retorna ningún valor, directamente.

 

Función getmaxy Borland® C

int far getmaxy(void);

Esta función es usada para obtener la coordenada máxima de la pantalla en la dirección vertictal. Este valor suele ser la resolución vertictal máxima menos 1.

 

La función getmaxy retorna la coordenada máxima de la pantalla en la dirección vertictal.

 

Función getpalettesize Borland® C

int far getpalettesize(void);

Esta función es usada para obtener el número de entradas de paleta válidas para la paleta actual, considerando el modo gráfico en uso.

 

La función getpalettesize retorna el número de colores en la paleta actual. Para modos de 16 colores, la función getpalettesize retorna 16.

Función getx Borland® C

int far getx(void);

Esta función es usada para obtener la posición, en la dirección horizontal, del cursor gráfico. El valor retornado especifica el lugar del píxel horizontal del cursor gráfico (la coordenada x), relativo a la pantalla del usuario actual.

La función getx retorna la coordenada x del cursor gráfico.

 
 

Función _graphfreemem Borland® C

void far _graphfreemem(void far *ptr, unsigned tamanyo);

Esta función es usada por la librería gráfica para desadjudicar memoria previamente reservada mediante una llamada a la función _graphgetmem. Esta función es llamada por la librería gráfica cuando se quiere liberar memoria. Por defecto, la función simplemente llama a free, pero se puede controlar la administración de memoria de la librería gráfica. La forma de hacer esto es simplemente creando la definición de la función, con el mismo prototipo mostrado aquí.

 

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

 
 

Función initgraph Borland® C

void far initgraph(int far *driver, int far *modo, int far *path);

Esta función es usada para cargar o validar un dispositivo gráfico y cambiar el sistema de vídeo a modo gráfico. La función initgraph debe ser llamada antes de cualesquier funciones que generan una salida gráfica sean usadas.

Existen varios valores a ser usados para el argumento *driver. Si *driver es asignado a DETECT, ó 0, la función detectgraph es llamada, y un dispositivo y modo gráfico apropiados son seleccionados. Asignando a *driver cualquier otro valor predefinido inicia la carga del dispositivo gráfico correspondiente.

Existen varios valores a ser usados para el argumento *modo. Estos valores deberían corresponder al dispositivo especificado en el argumento *driver.

El argumento *path especificad el directorio donde los dispositivos gráficos están localizados. La función initgraph buscará el dispositivo primeramente en este directorio. Si no es encontrado, la función buscará en el directorio de inicio. Cuando el argumento *path es NULL, solamente el directorio de inicio es buscado.

Otra forma para evitar cargando el dispositivo desde el disco cada vez que el programa es ejecutado es ligarlo o enlazarlo al dispositivo apropiado en un programa ejecutable.

La función initgraph no retorna ningún valor. Sin embargo, cuando la función initgraph es llamada, el código de error interno es activado. Si la función initgraph termina con éxito, el código es asignado un 0. Si no, el código es asignado así:

-2

grNotDetected

La tarjeta gráfica no se encontró

-3

grFileNotFound

El fichero del dispositivo no se encontró

-4

grInvalidDriver

El fichero del dispositivo es inválido

-5

grNoLoadMem

No hay suficiente memoria para cargar el dispositivo

 

Función linerel Borland® C

void far linerel(int dx, int dy);

Esta función es usada para dibujar una línea recta a una distancia y dirección predeterminadas desde la posición actual del cursor gráfico. El argumento dx especifica el número relativo de píxels para atravesar en la dirección horizontal. El argumento dy especifica el número relativo de píxels para atravesar en la dirección vertical. Estos argumentos pueden ser tanto valores positivos como negativos. La línea se dibuja usando el estilo de línea actual, el grosor, y el color actual desde la posición actual del cursor gráfico a través de la distancia relativa especificada. Cuando la línea esté terminada, la posición del cursor gráfico es actualizado al último punto de la línea.

 

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

 

Función outtext Borland® C

void far outtext(char far *cadena_texto);

Esta función es usada para mostar una cadena de caracteres. El argumento *cadena_texto define la cadena de texto a ser mostrado. La cadena es mostrado donde está el cursor gráfico actualmente usando el color actual y fuente, dirección, valores, y justificaciones de texto. La posición del cursor permanece sin ser cambiado al menos que la justificación horizontal actual es LEFT_TEXT y la orientación del texto es HORIZ_DIR. Cuando esto sea el caso, la posición del cursor es colocada horizontalmente a la anchura del píxel de la cadena de texto. Además, cuando se use la fuente por defecto, cualquier texto que se extiende a fuera del área gráfica actual es truncado.

Aunque la función outtext está diseñada para texto sin formato, texto con formato puede ser mostrada a través del uso de un búfer de caracteres y la función sprintf.

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

 

Función putpixel Borland® C

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

Esta función es usada para asignar el valor del color a un píxel en particular. La posición del píxel en cuestión está especificado por los argumentos x e y. El argumento color especifica el valor del color del píxel.

Existen varios valores para describir colores.

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

 

Función restorecrtmode Borland® C

void far restorecrtmode(void);

Esta función es usada para reiniciar el modo gráfico del vídeo al modo en uso anterior a la incialización del sistema gráfico. Esta función suele ser usada en conjunción con la función setgraphmode para cambiar entre ambos modos de texto y de gráficos.

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

 

Función setaspectratio Borland® C

void far setaspectratio(int x_proporcion, int y_proporcion);

Esta función es usada para modificar la proporción anchura-altura del modo gráfico actual. La proporción anchura-altura puede definirse como la proporción de la anchura del píxel del modo gráfico y la altura del píxel. Esta proporción es usada por el sistema gráfico para calcular círculos y arcos. Por ello, alterando la proporción anchura-altura afectará la visualización de estas funciones. La función getaspectratio puede ser usada para obtener las opciones por defecto del modo actual anteriormente a ser modificados.

 

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

 

Función setfillstyle Borland® C

void far setfillstyle(int trama, int color);

Esta función es usada para seleccionar una trama predefinida y un color de relleno. El argumento trama especifica la trama predefinida, mientras que el argumento color especifica el color de relleno.

Existen trece valores ya definidos para tramas. Sin embargo, la trama USER_FILL (valor 12) no debería usarse para asignar unla trama definida por el usuario. En su lugar, se debería usar la función setfillpattern.

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

 

Función setpalette Borland® C

void far setpalette(int num_paleta, int color);

Esta función es usada para modificar una sola entrada en la paleta actual. El argumento num_paleta especifica el miembro de la paleta a cambiar. El argumento color especifica el nuevo valor de color para el miembro de la paleta.

Existen varios valores para los colores dependiendo del dispositivo.

Nota: Recuerda que todos los cambios hechos a la paleta tiene un efecto visual inmediato y que la función setpalette no debería usarse con el dispositivo IBM-8514.

La función setpalette no retorna ningún valor; sin embargo, si los valores pasados son inválidos, entonces la función graphresult retorna grError (-11) y la paleta no es alterada.

 
 

Función setusercharsize Borland® C

void far setusercharsize(int x_dividendo, int x_divisor, int y_dividendo, int y_divisor);

Esta función extablece las características de fuentes escalables. Para que esta función afecte el tamaño del carácter, el argumento tam_caracter de la función settextstyle debe ser 0. La anchura del carácter se establece con los argumentos x_dividendo y x_divisor que representan la proporción. Similarmente, los argumentos y_dividendo e y_divisor especifican la altura del carácter.

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

 
 

Función setusercharsize Borland® C

void far setusercharsize(int x_dividendo, int x_divisor, int y_dividendo, int y_divisor);

Esta función extablece las características de fuentes escalables. Para que esta función afecte el tamaño del carácter, el argumento tam_caracter de la función settextstyle debe ser 0. La anchura del carácter se establece con los argumentos x_dividendo y x_divisor que representan la proporción. Similarmente, los argumentos y_dividendo e y_divisor especifican la altura del carácter.

 

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

 

 

 

Conclusiones

 

 

         Con los gráficos en el C++ se pueden hacer una infinidad de cosas, además de poder darle presentación o formalidad a tus programas, Con este trabajo, me pude dar cuenta de la maravilla de trabajos que se pueden hacer con este tipo de lenguaje, la cual no había podido ser observada, por las limitantes en presentación que se había aprendido, si es que llegamos a conocer en su gran mayoría este tema, incluso podremos hacer trabajos para negocios pequeños que tengan una remuneración monetaria.

 

 

 

 

 

 

 

 

Bibliografía

 

 

http://www.itq.edu.mx/vidatec/maestros/sis/mlopez/Tutorial/archi.htm

 

http://www.lawebdelprogramador.com/cursos/enlace.php?idp=1361&id=13&texto=C/Visual+C

 

Enciclopedia del Lenguaje C

Francisco Javier Cevallos

Grupo Editor Alfaomega, Editorial RA-MA

1997, México.

 

C++, Como Programar

H. M. Deitel y P. J. Deitel

Traducción de Ruiz Faudón Sergio Luis

Editorial Prentice Hall

2ª Edición, 1999, México

 

 

 

[Atrás]