Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Librerias Borland
Librerias Borland
Funciones
cgets cputs getche gotoxy kbhit outport textattr wherex clreol cscanf getpass highvideo lowvideo putch wherey clrscr delline gettext inport puttext window cprintf getch gettextinfo insline setcursortype
movetext normvideo
Macros
colores modos inp outp inportb outportb inpw outpw
Estructuras
text_info
http://localhost/conclase/c/Borland/pdf/libpdfl.php?x=1
Funciones
arc cleardevice drawpoly floodfill getcolor getfillsettings getmaxcolor getmodename getpixel gety graphgetmem lineto outtextxy rectangle sector setbkcolor setgraphmode settextjustify setvisualpage bar clearviewport ellipse getarccoords getgraphmode getmaxmode getmoderange gettextsettings graphdefaults graphresult moverel pieslice setactivepage setfillpattern setlinestyle settextstyle setwritemode bar3d closegraph fillellipse circle detectgraph fillpoly
getviewsettings getx grapherrormsg graphfreemem imagesize line moveto putimage setallpalette setfillstyle setpalette textheight initgraph linerel outtext putpixel setaspectratio setgraphbufsize setrgbpalette textwidth
installuserdriver installuserfont
setusercharsize setviewport
Macros
colores fuentes trama drivers linea enlazar modos errores put_op
Estructuras
http://localhost/conclase/c/Borland/pdf/libpdfl.php?x=1 (1 de 2) [04/12/2003 18:02:54]
http://localhost/conclase/c/Borland/pdf/libpdfl.php?x=1
Indice de funciones
ABCDEFGHIJKLMNOPQRSTUVWXYZ
-BFuncin bar bar3d Librera graphics graphics Fichero de cabecera C graphics.h graphics.h
-CFuncin cgets circle cleardevice clearviewport closegraph clreol clrscr cprintf cputs cscanf Librera conio graphics graphics graphics graphics conio conio conio conio conio Fichero de cabecera C conio.h graphics.h graphics.h graphics.h graphics.h conio.h conio.h conio.h conio.h conio.h
-DFuncin delline detectgraph drawpoly Librera conio graphics graphics Fichero de cabecera C conio.h graphics.h graphics.h
Funcin ellipse
Librera graphics
-FFuncin fillellipse fillpoly floodfill Librera graphics graphics graphics Fichero de cabecera C graphics.h graphics.h graphics.h
-GFuncin getarccoords getaspectratio getbkcolor getch getche getcolor getdefaultpalette getdrivername getfillpattern getfillsettings getgraphmode getimage getlinesettings getmaxcolor getmaxmode getmaxx getmaxy getmodename getmoderange getpalette getpalettesize getpass Librera graphics graphics graphics conio conio graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics conio Fichero de cabecera C graphics.h graphics.h graphics.h conio.h conio.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h conio.h
getpixel gettext gettextinfo gettextsettings getviewsettings getx gety gotoxy graphdefaults grapherrormsg graphfreemem graphgetmem graphresult
graphics conio conio graphics graphics graphics graphics conio graphics graphics graphics graphics graphics
graphics.h conio.h conio.h graphics.h graphics.h graphics.h graphics.h conio.h graphics.h graphics.h graphics.h graphics.h graphics.h
-IFuncin imagesize initgraph inport insline installuserdriver installuserfont Librera graphics graphics conio conio graphics graphics Fichero de cabecera C graphics.h graphics.h conio.h conio.h graphics.h graphics.h
-MFuncin moverel movetext moveto Librera graphics conio graphics Fichero de cabecera C graphics.h conio.h graphics.h
-OFuncin outport outtext outtextxy Librera conio graphics graphics Fichero de cabecera C conio.h graphics.h graphics.h
-PFuncin pieslice putch putimage putpixel puttext Librera graphics conio graphics graphics conio Fichero de cabecera C graphics.h conio.h graphics.h graphics.h conio.h
-RFuncin rectangle registerbgidriver Librera graphics graphics Fichero de cabecera C graphics.h graphics.h
registerbgifont restorecrtmode
graphics graphics
graphics.h graphics.h
-SFuncin sector setactivepage setallpalette setaspectratio setbkcolor setcursortype setfillpattern setfillstyle setgraphbufsize setgraphmode setlinestyle setpalette setrgbpalette settextjustify settextstyle setusercharsize setviewport setvisualpage setwritemode Librera graphics graphics graphics graphics graphics conio graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics Fichero de cabecera C graphics.h graphics.h graphics.h graphics.h graphics.h conio.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h graphics.h
-TFuncin textattr textbackground textcolor textheight textwidth Librera conio conio conio graphics graphics Fichero de cabecera C conio.h conio.h conio.h graphics.h graphics.h
Funcin ungetch
Librera conio
-WFuncin wherex wherey window Librera conio conio conio Fichero de cabecera C conio.h conio.h conio.h
Funcin arc
void far arc(int x, int y, int comienzo_angulo, int final_angulo, int radio);
Esta funcin 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 direccin contraria al de las agujas del reloj hasta llegar al ngulo especificado por el argumento final_angulo. La funcin arc usa el este (extendindose hacia la derecha del centro del arco en la direccin horizontal) como su punto de 0 grados. La funcin setlinestyle puede usarse para establecer el grosor del arco. La funcin arc, sin embargo, ignorar el argumento trama de la funcin setlinestyle.
Valor de retorno:
La funcin arc no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int radio; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); for( radio = 25; radio < 175; radio += 25 ) arc( 320, 175, 45, 135, radio ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin bar
void far bar(int izquierda, int superior, int derecha, int inferior);
Esta funcin 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 funcin setlinestyle.
Valor de retorno:
La funcin bar no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x, y, color, relleno; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); x = 20; y = 20; color = 1; fill = 1; do { setfillstyle( fill, color ); bar( x, y, x+40, 320 ); x += 40; y += 10; color = (color+1) % 16; fill = (fill+1) % 12; } while( x < 620 ); getch(); /* Pausa */
Funcin bar
closegraph(); return 0; }
Funcin bar3d
void far bar3d(int izquierda, int superior, int derecha, int inferior, int profundidad, int banderin_tapa);
Esta funcin crear una barra rectangular y rellenada de tres dimensiones. La esquina superior izquierda de la barra rectangular ms frontal est definida por los argumentos izquierda y superior. Estos argumentos corresponden a los valores x e y de la esquina superior izquierda del rectngulo ms frontal. Similarmente, los argumentos derecha e inferior definen la esquina inferior derecha del rectngulo ms frontal. La barra tiene borde, en todas las tres dimensiones, rellenada con el color y estilo de lnea actuales. El rectngulo ms frontal es rellenado usando la trama de relleno actual y el color de relleno como es establecido por la funcin 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.
Valor de retorno:
La funcin bar3d no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int color, relleno; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); color = 10; relleno = 11; setfillstyle( relleno, color ); bar3d( 100, 50, 300, 150, 25, 1 ); getch(); /* Pausa */ closegraph(); return 0;
Funcin bar3d
Funcin cgets
Esta funcin leer una cadena de caracteres desde la consola, guardando la cadena (y su longitud) en el lugar apuntado por *cadena. La funcin cgets leer caracteres hasta que encuentre una combinacin de retorno de lnea y nueva lnea (CR/LF), o hasta que el nmero mximo de caracteres permitidos hayan sido ledos. Si se lee una combinacin CR/LF, entonces es sustituido por un carcter nulo '\0' antes de ser guardado la cadena. Antes de que la funcin cgets es llamada, asigna a cadena[0] la longitud mxima de la cadena a ser leda. Al retornar, cadena[1] es asignado el nmero de caracteres ledos. Los caracteres ledos comienzan a partir de cadena[2] (incluido) y termina con el carcter nulo. Por esta razn, *cadena debe ser como mnimo cadena[0] ms 2 bytes de longitud.
Valor de retorno:
La funcin cgets retorna la cadena de caracteres a partir de cadena[2], si tiene xito.
Ejemplo:
#include <conio.h> int main() { char cadena[23]; char *cad; cadena[0] = 21; /* 20 caracteres del usuario y el carcter nulo final */ cprintf( "Escriba un mensaje: " ); cad = cgets( cadena ); cprintf( "\r\nEscribiste: \"%s\"\r\nEl mensaje tiene %d caracteres.\r\n\r\n", cad, cadena[1] ); return 0; }
Funcin circle
Esta funcin se usas para dibujar un crculo. Los argumentos x e y definen el centro del crculo, mientras que el argumento radio define el radio del crculo. El crculo no es rellenado pero es dibujado usando el color actual. El grosor de la circunferencia puede ser establecido por la funcin setlinestyle; sin embargo, el estilo de la lnea es ignorado por la funcin circle. La proporcin anchura-altura para el modo actual es considerado cuando se calcula el crculo. Por esta razn, alterando los valores de defecto x e y de los factores de anchuraaltura afectar el crculo (ya no seguir siendo redondo).
Valor de retorno:
La funcin circle no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int relleno; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); relleno = 1; setlinestyle( SOLID_LINE, relleno, THICK_WIDTH ); circle( 300, 200, 80 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin cleardevice
Esta funcin es usada para despejar una pantalla grfica. La funcin cleardevice usa el color de fondo actual, como es establecido por la funcin setbkcolor, para rellenar la pantalla. La posicin del cursor grfico es la esquina superior izquierda de la pantalla - posicin (0,0) - despus de que la pantalla haya sido borrado.
Valor de retorno:
La funcin cleardevice no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int relleno, color; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); relleno = 1; color = 1; setlinestyle( SOLID_LINE, relleno, THICK_WIDTH ); circle( 300, 200, 80 ); getch(); /* Pausa */ setbkcolor( color ); cleardevice(); setlinestyle( SOLID_LINE, relleno, THICK_WIDTH ); circle( 400, 200, 20 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin clearviewport
Esta funcin es usada para rellenar la pantalla actual del usuario con el color de fondo actual. El color de fondo puede ser establecido con la funcin setbkcolor. La posicin del cursor grfico es la esquina superior izquierda de la pantalla actual del usuario. Esta posicin es (0,0) segn la pantalla actual del usuario.
Valor de retorno:
La funcin clearviewport no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int color; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setviewport( 150, 150, 350, 350, 0 ); for( color = 0; color<16; color++ ) { circle( 100, 100, 60 ); getch(); setbkcolor( color ); clearviewport(); } getch(); /* Pausa */ closegraph(); return 0; }
Funcin closegraph
Esta funcin es usada para cerrar el sistema grfico como es iniciada por la funcin initgraph. La funcin closegraph libera toda la memoria usada por el sistema grfico y luego restaura el modo de vdeo al modo de texto que estaba en uso anteriormente a la llamada a la funcin initgraph.
Valor de retorno:
La funcin closegraph no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); circle( 300, 200, 80 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin clreol
void clreol(void);
Esta funcin despeja todos los caracteres desde la posicin del cursor hasta el final de la lnea dentro de la ventana de texto actual, sin mover la posicin del cursor.
Valor de retorno:
La funcin clreol no retorna ningn valor.
Ejemplo:
#include <conio.h> #include <stdio.h> int main() { clrscr(); printf( "Ejemplo de \"clreol\"\n\n" ); printf( "Esto es un mensaje\nescrito en varias lneas.\n" ); printf( "Usaremos \"gotoxy\"para colocar el cursor\n printf( "en una de estas lneas, para borrarla.\n" ); printf( "Pulsa una tecla para continuar...\n" ); getch(); gotoxy( 1, 4 ); clreol(); getch(); return 0; }
Funcin clrscr
void clrscr(void);
Esta funcin despeja la ventana de texto actual y coloca el cursor en la esquina superior izquierda: posicin (1,1).
Valor de retorno:
La funcin clrscr no retorna ningn valor.
Ejemplo:
#include <conio.h> #include <stdio.h> int main() { printf( "Ejemplo de \"clrscr\"\n\n" ); printf( "Pulsa una tecla para continuar...\n" ); getch(); clrscr(); return 0; }
Funcin cprintf
Muestra texto en pantalla segn el formato descrito. Esta funcin es similar a la funcin printf, pero con la excepcin de que la funcin cprintf no convertir los caracteres de nueva lnea (\n) en la pareja de caracteres de retorno de lnea/nueva lnea (\r\n). Los caracteres de tabulacin (\t) no sern expandidos a espacios. La cadena de texto con formato ser enviado directamente a la ventana de texto actual en la pantalla. Esto se realiza mediante una escritura directa a la memoria de la pantalla o mediante una llamada a la BIOS, dependiendo del valor de la variable global _directvideo.
Valor de retorno:
La funcin cprintf retorna el nmero de caracteres mostrados en pantalla.
Ejemplo:
#include <conio.h> int main() { cprintf( "Ejemplo de \"cprintf\"\r\n\r\n" ); cprintf( "Comenzamos en esta lnea, pero con \'\\n\'\n" ); cprintf( "Nos saltamos a la siguiente lnea sin volver al comienzo de lnea\r\n" ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin cputs
Muestra la cadena, que finaliza con el carcter nulo, apuntada por el argumento *cadena en la ventana de texto actual. Esta funcin es similar a la funcin puts, pero con dos excepciones: la funcin cputs no convertir los caracteres de nueva lnea (\n) en la pareja de caracteres de retorno de lnea/nueva lnea (\r\n) tampoco aadir el carcter de nueva lnea al final del texto. Esto se realiza mediante una escritura directa a la memoria de la pantalla o mediante una llamada a la BIOS, dependiendo del valor de la variable global _directvideo.
Valor de retorno:
La funcin cputs retorna el ltimo carcter mostrad en pantalla.
Ejemplo:
#include <conio.h> int main() { cputs( "Ejemplo de \"cputs\"\r\n\r\n" ); cputs( "Comenzamos en esta lnea, pero sin \'\\n\'" ); cprintf( "Seguimos en esta lnea\r\n" ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=cscanf
Recoge el texto y lo procesa segn el formato dado por el argumento *formato. Esta funcin es similar a la funcin scanf., la diferencia est en que la funcin cscanf lee los datos desde la consola que son automticamente mostrados.
Valor de retorno:
La funcin cscanf retorna el nmero de elementos entrados que hayan sido escaneados, convertidos, y guardados con xito; el valor retornado no incluye elementos que no hayan sido guardados. Si no se han guardado elementos ledos, el valor de retorno es 0. Si cscanf intenta leer al final-de-fichero, el valor retornado es EOF.
Ejemplo:
#include <conio.h> int main() { char nombre[25]; int total; cprintf( "Escribe tu nombre:\r\n" ); /* Intenta borrar unos caracteres escritos */ total = cscanf( "%s", nombre ); cprintf( "Tu nombre es \"%s\"\r\n", nombre ); cprintf( "Nmero total de elementos guardados: %d\r\n", total ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin delline
void delline(void);
Borra la lnea donde se encuentre el cursor y mueve todas las lneas inferiores a una lnea anterior. La funcin delline funciona en la ventana de texto activa.
Valor de retorno:
La funcin delline no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"delline\"\r\n\r\n" ); cprintf( "Esta lnea ser borrada\r\n" ); cprintf( "Pulsa una tecla para continuar..." ); getch(); gotoxy( 1, 3 ); delline(); return 0; }
Funcin detectgraph
Esta funcin es usada para detectar el adaptador grfico y el modo ptimo para usar con el sistema en uso. Si la funcin detectgraph no puede detectar ningn dispositivo grfico, 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 grficos que pueden ser usados por el argumento *driver. Un valor de 0, o DETECT, inicia la funcionalidad de autodeteccin, el cual determina el driver ptimo a usar. Para cada dispositivo existen varios valores que indican los diferentes modos grficos 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 automticamente establecido al modo de resolucin mas alto para el driver.
Valor de retorno:
La funcin detectgraph no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver, gmodo; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ detectgraph( &gdriver, &gmodo, ); initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); circle( 300, 200, 80 ); getch(); /* Pausa */ closegraph(); printf( "Driver: %d\tModo: %d\n\n", gdriver, gmodo ); return 0; }
Funcin drawpoly
Esta funcin es usada para crear un polgono con un nmero especificado de puntos. El argumento numpuntos es usado para definir el nmero de puntos en el polgono. Para la funcin drawpoly, el nmero de puntos debe ser el nmero actual de puntos ms 1 para poder crear un polgono cerrado. En otras palabras, el primer punto debe ser igual al ltimo punto. El argumento *puntos apunta a un array de nmeros 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 funcin drawpoly dibuja el permetro del polgono con el estilo de lnea y color actuales, pero no rellena el polgono.
Valor de retorno:
La funcin drawpoly no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int puntos[8] = { 300, 50, 500, 300, 100, 300, 300, 50 }; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); drawpoly( 4, puntos ); getch(); /* Pausa */ closegraph(); return 0; }
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=ellipse
void far ellipse(int x, int y, int comienzo_angulo, int final_angulo, int x_radio, int y_radio);
Esta funcin es usada para dibujar un arco elptico en el color actual. El arco elptico est centrado en el punto especificado por los argumentos x e y. Ya que el arco es eilptco el argumento x_radio especifica el radio horizontal y el argumento y_radio especifica el radio vertical. El arco elptico 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 funcin ellipse considera este - el eje horizontal a la derecha del centro del elipse - ser 0 grados. El arco elptico es dibujado con el grosor de lnea actual como es establecido por la funcin setlinestyle. Sin embargo, el estilo de lnea es ignorado por la funcin ellipse.
Valor de retorno:
La funcin ellipse no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); ellipse( 300, 150, 45, 225, 100, 50 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin fillellipse
Esta funcin 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 permetro en el color actual y rellenada con el color de relleno y la trama de relleno actuales.
Valor de retorno:
La funcin fillellipse no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int trama, color; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); trama = SOLID_FILL; color = 4; setfillstyle( trama, color ); fillellipse( 300, 150, 100, 50 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin fillpoly
Esta funcin es usada para crear un polgono rellenado. El argumento numpuntos es usado para definir el nmero de puntos en el polgono. Al contrario que la funcin drawpoly, la funcin automticamente cierra el polgono. El argumento *puntos apunta a un array de nmeros 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 funcin fillpoly dibuja el permetro del polgono con el estilo de lnea y color actuales. Luego, el polgono es rellenado con la trama de relleno y color de relleno actuales.
Valor de retorno:
La funcin fillpoly no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int trama, color; int puntos[6] = { 300, 50, 500, 300, 100, 300 }; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); trama = SLASH_FILL; color = 4; setfillstyle( trama, color ); fillpoly( 3, puntos ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin floodfill
Esta funcin 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 funcin 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 funcin no funciona con el driver IBM-8514.
Valor de retorno:
La funcin floodfill no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int trama, color; int puntos[8] = { 300, 50, 500, 300, 100, 300, 300, 50 }; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setcolor( 10 ); drawpoly( 4, puntos ); trama = SLASH_FILL; color = 4; setfillstyle( trama, color ); floodfill( 400, 250, 10 ); getch(); /* Pausa */ closegraph();
Funcin floodfill
return 0; }
Funcin getarccoords
Esta funcin es usada para recoger las coordenadas del centro, y los puntos del comienzo y final de la ltima llamada con xito a la funcin arc. El argumento *coordenadas_arco apunta a la estructura de tipo arccoordstype que guarda la informacin recogida. La sntaxis de la estructura arccoordstype es:
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.
Valor de retorno:
La funcin getarccoords no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int radio; struct arccoordstype info_arco; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); 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 );
Funcin getarccoords
Funcin getaspectratio
Esta funcin es usada para obtener la proporcin anchura-altura del modo grfico actual. La proporcin anchura-altura puede definirse como la proporcin de la anchura del pxel del modo grfico y la altura del pxel. Esta proporcin, usando los modos grficos existentes, es siempre menor o igual que 1. El valor para determinar la proporcin 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 funcin getaspectratio. El argumento *x_proporcion es casi siempre menor que el valor de *y_proporcion. Esto es debido al hecho de que la mayora de los modos grficos tiene pxels ms altos que anchos. La nica excepcin es en los modos de VGA que produce pxels cuadrados; es decir, x_proporcion = y_proporcion.
Valor de retorno:
La funcin getaspectratio no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x_proporcion, y_proporcion; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getaspectratio( &x_proporcion, &y_proporcion ); circle( 300, 150, 50 ); getch(); /* Pausa */ closegraph(); printf( "Proporcin anchura-altura.\nFactor x: %d\tFactor y: %d\n", x_proporcion, y_proporcion ); return 0;
Funcin getaspectratio
Funcin getbkcolor
Esta funcin 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 funcin setbkcolor. Existen varios valores para ciertos colores de fondo.
Valor de retorno:
La funcin getbkcolor retorna el valor del color de fondo actual.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int color; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setbkcolor( 4 ); circle( 300, 150, 50 ); color = getbkcolor(); getch(); /* Pausa */ closegraph(); printf( "Color de fondo: %d\n", color ); return 0; }
Funcin getch
int getch(void);
Lee un solo carcter directamente desde el teclado, sin mostrar tal carcter en pantalla.
Valor de retorno:
La funcin getch retorna el carcter ledo desde el teclado.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"getch\"\r\n\r\n" ); cprintf( "Pulsa una tecla: " ); cprintf( "\'%c\'\r\n", getch() ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin getche
int getche(void);
Lee un solo carcter directamente desde el teclado, mostrando tal carcter en pantalla, a travs de la BIOS o por directamente a vdeo.
Valor de retorno:
La funcin getche retorna el carcter ledo del teclado.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"getch\"\r\n\r\n" ); cprintf( "Pulsa una tecla: " ); cprintf( "\'%c\'\r\n", getch() ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin getcolor
Esta funcin obtiene el valor del color actual. El color actual es el color usado para dibujar lneas, arcos, etc.. Este color no es el mismo que el color de relleno. El valor del color obtenido es interpretado segn el modo que est en uso. Existen varios valores para ciertos colores de fondo.
Valor de retorno:
La funcin getcolor retorna el valor del color actual.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int color; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setcolor( 4 ); circle( 300, 150, 50 ); color = getcolor(); getch(); /* Pausa */ closegraph(); printf( "Color del permetro: %d\n", color ); return 0; }
Funcin getdefaultpalette
Esta funcin es usada para obtener una estructura que define la paleta segn el dispositivo en la inicializacin 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 tamao de la paleta. El campo colors contiene los valores numricos que representan los colores que ofrece el dispositivo en su paleta de colores.
Valor de retorno:
La funcin getdefaultpalette retorna un puntero a una estructura del tipo palettetype.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h&t; int main() { int gdriver = EGA; int gmodo = EGAHI; struct palettetype *palette = NULL; int i; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); palette = getpalettetype(); circle( 300, 150, 50 ); getch(); /* Pausa */ closegraph();
Funcin getdefaultpalette
printf( "Paleta\n\nTamao: %d\nColores: %d", palette->size, palette->colors[0] ); for( i=1; i<palette->size; i++ ) printf( ", %d", palette->colors[i] ); printf( "\n" ); return 0; }
Funcin getdrivername
Esta funcin es usada para obtener una cadena de caracteres que contiene el nombre del dispositivo grfico actual. Este funcin debera ser llamada despus de que un dispositivo haya sido definido e inicializado - esto es, despus de llamar a initgraph.
Valor de retorno:
La funcin getdrivername retorna una cadena de caracteres conteniendo el nombre del dispositivo grfico.
Ejemplo:
#include #include #include #include <graphics.h> <conio.h> <stdio.h> <string.h>
int main() { int gdriver = EGA; int gmodo = EGAHI; char *nombre; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); strcpy( nombre, getdrivername() ); circle( 300, 150, 50 ); getch(); /* Pausa */ closegraph(); printf( "Nombre del dispositivo grfico: %s\n", nombre ); return 0; }
Funcin getfillpattern
Esta funcin es usada para obtener una trama de relleno definido por el usuario, como es definida por la funcin 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 pxel correspondiente ser asignado el color de relleno actual. Un bit de 0 indica que el pxel correspondiente no ser alterado.
Valor de retorno:
La funcin getfillpattern no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; char trama1[8] = { 0x33, 0xEE, 0x33, 0xEE, 0x33, 0xEE, 0x33, 0xEE }; char trama2[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getfillpattern( trama2 ); bar( 50, 50, 150, 150 ); setfillpattern( trama1, 9 ); bar( 160, 50, 260, 150 ); setfillpattern( trama2, 4 ); bar( 105, 160, 205, 260 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin getfillsettings
Esta funcin es usada para obtener la informacin de tramas de relleno. El argumento *info apunta a una estructura de tipo fillsettingstype, el cual es actualizado cuando se llama a la funcin 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. Existen trece valores ya definidos para tramas.
Valor de retorno:
La funcin getfillsettings no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct fillsettingstype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getfillsettings( &info ); bar( 50, 50, 350, 300 ); getch(); /* Pausa */ closegraph();
Funcin getfillsettings
Funcin getgraphmode
Esta funcin es usada para obtener el valor del modo grfico actual. El dispositivo actual debe ser considerado cuando se interprete el valor de retorno. Esta funcin slo debera ser llamada despus de que el sistema grfico haya sido inicialiazado con la funcin initgraph. Existen varios valores para los modos de cada dispositivo.
Valor de retorno:
La funcin getgraphmode retorna el modo grfico como es establecido por initgraph o setgraphmode.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int modo; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); modo = getgraphmode(); bar( 50, 50, 350, 300 ); getch(); /* Pausa */ closegraph(); printf( "Modo grfico: %d\n", modo ); return 0; }
Funcin getimage
void far getimage(int izquierda, int superior, int derecha, int inferior, void far *imagen);
Esta funcin es usada para guardar una porcin 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 bfer de memoria donde la imagen est guardada.
Valor de retorno:
La funcin getimage no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdlib.h> int main() { int gdriver = EGA; int gmodo = EGAHI; void *imagen; int imagentam; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setfillstyle( SLASH_FILL, 5 ); bar( 50, 50, 350, 300 ); imagentam = imagesize( 50, 50, 100, 100 ); imagen = malloc( imagentam ); getimage( 50, 50, 100, 100, imagen ); putimage( 400, 50, imagen, COPY_PUT ); putimage( 400, 110, imagen, COPY_PUT ); getch(); /* Pausa */ closegraph();
Funcin getimage
Funcin getlinesettings
Esta funcin obtiene la informacin actual para las lneas. Esta informacin es guardada en una estructura de tipo linesettingstype que es apuntado por el argumento *info. El estilo de lnea, trama, y grosor actuales son guardados en esta estructura. La sntaxis para la estructura linesettingstype: struct linesettingstype { int linestyle; unsigned upattern; int thickness; }
El campo linestyle es el estilo de la lnea recta. El campo upattern es la trama de la lnea 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 lnea definido por el usuario de 16 bits. Un bit 1 en esta trama indica que el pxel correspondiente ser asignado el color actual. Un bit 0 indica que el pxel correspondiente no ser alterado. El campo thickness es el grosor de la lnea. Existen varios valores para los diferentes estilos y grosores de lneas rectas.
Valor de retorno:
La funcin getlinesettings no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct linesettingstype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setlinestyle( DOTTED_LINE, 0xFF33, THICK_WIDTH );
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=getlinesettings (1 de 2) [04/12/2003 18:11:34]
Funcin getlinesettings
circle( 350, 250, 50 ); getlinesettings( &info ); getch(); /* Pausa */ closegraph(); printf( "Lneas rectas.\nEstilo: %d\tTrama: %X\tGrosor: %d\n", info.linestyle, info.upattern, info.thickness ); return 0; }
Funcin getmaxcolor
Esta funcin es usada para obtener el valor ms 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.
Valor de retorno:
La funcin getmaxcolor retorna el valor mximo del color en la paleta en uso.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int color_max; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); color_max = getmaxcolor(); closegraph(); printf( "Color mximo: %d\n", color_max ); return 0; }
Funcin getmaxx
Esta funcin es usada para obtener la coordenada mxima de la pantalla en la direccin horizontal. Este valor suele ser la resolucin horizontal mxima menos 1.
Valor de retorno:
La funcin getmaxx retorna la coordenada mxima de la pantalla en la direccin horizontal.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x_max; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); x_max = getmaxx(); closegraph(); printf( "X mxima: %d\n", x_max ); return 0; }
Funcin getmaxy
Esta funcin es usada para obtener la coordenada mxima de la pantalla en la direccin vertictal. Este valor suele ser la resolucin vertictal mxima menos 1.
Valor de retorno:
La funcin getmaxy retorna la coordenada mxima de la pantalla en la direccin vertictal.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x_max, y_max; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); x_max = getmaxx(); y_max = getmaxy(); closegraph(); printf( "X mxima: %d\tY mxima: %d\n", x_max, y_max ); return 0; }
Funcin getmodename
Esta funcin es usada para obtener el nombre del modo grfico especificado por el argumento num_modo.
Valor de retorno:
La funcin getmodename retorna el nombre del modo grfico que est contenido en todos los dispositivos grficos.
Ejemplo:
#include #include #include #include <graphics.h> <conio.h> <stdio.h> <string.h>
int main() { int gdriver = EGA; int gmodo = EGAHI; char *nombre; int num_modo; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); num_modo = getgraphmode(); strcpy( nombre, getmodename( num_modo ) ); closegraph(); printf( "X mxima: %d\tY mxima: %d\n", x_max, y_max ); return 0; }
Funcin getmoderange
void far getmoderange(int driver, int far *modo_bajo, int far *modo_alto);
Esta funcin es usada para obtener los valores altos y bajos del modo grfico del dispositivo especificado por el argumento driver. El valor ms bajo del modo es retornado en *modo_bajo, y el valor ms alto del modo es retornado en *modo_alto. Si el dispositivo especificado es invlido, 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.
Valor de retorno:
La funcin getmoderange no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int modo_bajo, modo_alto; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getmoderange( gdriver, &modo_bajo, &modo_alto ); closegraph(); printf( "Alcance de modos, de %d %d\n", modo_bajo, modo_alto ); return 0; }
Funcin getpalette
Esta funcin es usada para obtener la informacin de la paleta actual. El argumento *paleta apunta a una estructura del tipo palettetype donde la informacin de la paleta es guardada. 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 nmero de colores en la paleta. El campo colors contiene los valores numricos que representan los colores que ofrece el dispositivo en su paleta de colores.
Valor de retorno:
La funcin getpalette no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct palettetype palette; int i; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getpalette( &palette ); closegraph(); printf( "Paleta\n\nTamao: %d\nColores: %d", palette.size, palette.colors[0] ); for( i=1; i<palette.size; i++ ) printf( ", %d", palette.colors[i] ); printf( "\n" );
Funcin getpalette
return 0; }
Funcin getpalettesize
Esta funcin es usada para obtener el nmero de entradas de paleta vlidas para la paleta actual, considerando el modo grfico en uso.
Valor de retorno:
La funcin getpalettesize retorna el nmero de colores en la paleta actual. Para modos de 16 colores, la funcin getpalettesize retorna 16.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int num_colores; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); num_colores = getpalettesize(); closegraph(); printf( "Paleta\n\nNmero de colores: %d\n", num_colores ); return 0; }
Funcin getpass
Lee una contrasea desde la consola del sistema despus de mostrar un mensaje, el cual es una cadena de caracteres (terminada en un carcter nulo) apuntada por el argumento mensaje y desactivando la salida de texto.
Valor de retorno:
La funcin getpass retorna un puntero esttico a la cadena de caracteres con el carcter nulo al final conteniendo la contrasea. Esta cadena contiene hasta ocho caracteres, sin contar el carcter nulo. Cada vez que la funcin getpass es llamada, la cadena de caracteres es sobrescrita.
Ejemplo:
#include <conio.h> int main() { char *contra; clrscr(); cprintf( "Ejemplo de \"getpass\"\r\n\r\n" ); contra = getpass( "Introduzca la contrasea: " ); cprintf( "La contrasea escrita: \'%s\'\r\n", contra ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin getpixel
Esta funcin es usada para obtener el valor del color del pxel especificado por los argumentos x e y. Estos argumentos especifican las coordenadas de la pantalla del pxel a ser evaluado. Cuando se evala el valor del color retornado, el modo grfico en uso debe ser considerado. Existen varios valores para describir colores.
Valor de retorno:
La funcin getpixel retorna el nmero del color del pxel especificado.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x, y, color; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); x = 300; y = 100; setfillstyle( SOLID_FILL, 2 ); fillellipse( 300, 160, 50, 150 ); color = getpixel( x, y ); getch(); closegraph(); printf( "Colores\n\nEl color del pxel (%d,%d): %d\n", x, y, color ); return 0; }
Funcin gettext
int gettext(int izquierda, int superior, int derecha, int inferior, void *destino);
Guarda el contenido en un rectngulo de texto en pantalla definido por los argumentos izquierda y superior, que describen la esquina superior izquierda y por los argumentos derecha e inferior, que describen la esquina inferior derecha, en el rea de memoria apuntada por el argumento destino. Todas las coordenadas son coordenadas absolutas de pantalla; no son relativas a la ventana. La esquina superior izquierda es (1,1). La funcin gettext lee el contenido en este rectngulo en memoria secuencialmente de izquierda a derecha y de arriba a abajo. Cada posicin en pantalla necesita 2 bytes de memoria. El primer byte es el carcter en la celda y el segundo es el atributo de vdeo de la celda. El espacio requerido para un rectngulo b columnas anchas y h filas altas est definida como: bytes = (h filas) x (w anchas) x 2.
Valor de retorno:
La funcin gettext retorna 1 si la operacin tiene xito. Si ocurre un error, como es el caso de acceder fuera de la pantalla, entonces retorna el valor de 0.
Ejemplo:
#include <conio.h> #include <stdlib.h> #define ANCHURA 15 #define ALTURA 5 int main() { void *destino; destino = malloc( ALTURA*ANCHURA*2 ); clrscr(); cprintf( "Ejemplo de \"gettext\" y \"puttext\"\r\n\r\n" ); cprintf( "El rectngulo ser de un rea relativamente pequea.\r\n" ); cprintf( "Las dimensiones son: %d (de ancho) x %d (de alto).\r\n", ANCHURA, ALTURA ); cprintf( "Pulsa una tecla para continuar..." ); getch(); cprintf( "\"gettext\" ha retornado: %d\r\n", gettext( 1, 1, 1+ANCHURA, 1+ALTURA, destino ) ); cprintf( "Mostremos lo que hay guardado en memoria:" ); puttext( 1, 9, 1+ANCHURA, 9+ALTURA, destino ); getch(); clrscr();
Funcin gettext
Funcin gettextinfo
Obtiene la informacin de vdeo del modo texto. Esta informacin es guardada en una estructura apuntada por el argumento *ti. La estructura text_info se define de esta manera: struct text_info unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char }; { winleft; wintop; winright; winbottom; attribute; normattr; currmode; screenheight; screenwidth; curx; cury;
/* /* /* /* /* /* /* /* /* /* /*
Coordenada izquierda de la ventana */ Coordenada superior de la ventana */ Coordenada derecha de la ventana */ Coordenada inferior de la ventana */ Atributo de texto */ Atributo normal*/ Modo en Uso: BW40, BW80, C40, C80, C4350 */ Altura de la pantalla de texto */ Anchura de la pantalla de texto */ Coordenada X de la ventana en uso */ Coordenada Y de la ventana en uso */
Valor de retorno:
La funcin gettextinfo no retorna ningn valor, directamente.
Ejemplo:
#include <conio.h> int main() { struct text_info *ti; gettextinfo( ti ); clrscr(); cprintf( "Ejemplo de \"gettextinfo\"\r\n\r\n" ); cprintf( "Dimensiones de la ventana: " ); cprintf( "(%d,%d) (%d,%d)\r\n", ti->winleft, ti->wintop, ti->winright, ti->winbottom ); cprintf( "Atributo: %d Normal: %d\r\n", ti->attribute, ti->normattr ); cprintf( "Modo en uso: %d\r\n", ti->currmode ); cprintf( "Dimensiones de la pantalla: %d x %d\r\n", ti->screenwidth, ti->screenheight ); cprintf( "Coordenadas de la ventana: (%d,%d)\r\n", ti->curx, ti->cury ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin gettextsettings
Esta funcin es usada para obtener informacin acerca de la fuente grfica actual. Esta informacin es guardada en una estructura de tipo textsettingstype, la cual es apuntada por el argumento *info. Esta estructura contiene informacin de la fuente actual en uso, la orientacin del texto, el tamao del carcter, y la justificacin horizontal y vertical. La sntaxis de la estructura textsettingstype es la siguiente: struct int int int int int }; textsettingstype { font; direction; charsize; horiz; vert;
Valor de retorno:
La funcin gettextsettings no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct textsettingstype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); gettextsettings( &info ); closegraph(); printf( "Texto\n\nFuente: %d\tSentido: %d\tTamao: %d\n"
Funcin gettextsettings
"Justificacin:\nHorizontal: %d, Vertical: %d\n", info.font, info.direction, info.charsize, info.horiz, info.vert); return 0; }
Funcin getviewsettings
Esta funcin es usada para obtener informacin acerca del rea grfica actual. Esta informacin es guardada en una estructura de tipo viewporttype, la cual es apuntada por el argumento *info. Esta estructura contiene informacin acerca de las esquinas superior izquierda e inferior derecha, tambin como el bandern de recorte del rea grfica. La sntaxis de la estructura viewporttype es la siguiente: struct int int int }; viewporttype { left, top; right, bottom; clip;
Valor de retorno:
La funcin getviewsettings no retorna ningn valor, directamente.
Ejemplo:
#include <graphics.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct viewporttype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getviewsettings( &info ); closegraph(); printf( "Pantalla\n\nIzquierda: %d\tSuperior: %d\tDerecha: %d\t" "Inferior: %d\tBandern: %d\n", info.left, info.top, info.right, info.bottom, info.clip ); return 0; }
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=getviewsettings (1 de 2) [04/12/2003 18:14:09]
Funcin getviewsettings
Funcin getx
Esta funcin es usada para obtener la posicin, en la direccin horizontal, del cursor grfico. El valor retornado especifica el lugar del pxel horizontal del cursor grfico (la coordenada x), relativo a la pantalla del usuario actual.
Valor de retorno:
La funcin getx retorna la coordenada x del cursor grfico.
Ejemplo:
#include <graphics.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x, y; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); moveto( 300, 150 ); x = getx(); y = gety(); closegraph(); printf( "Cursor grfico\n\nX: %d\tY: %d\n", x, y ); return 0; }
Funcin gety
Esta funcin es usada para obtener la posicin, en la direccin vertical, del cursor grfico. El valor retornado especifica el lugar del pxel vertical del cursor grfico (la coordenada y), relativo a la pantalla del usuario actual.
Valor de retorno:
La funcin gety retorna la coordenada y del cursor grfico.
Ejemplo:
#include <graphics.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x, y; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); moveto( 300, 150 ); x = getx(); y = gety(); closegraph(); printf( "Cursor grfico\n\nX: %d\tY: %d\n", x, y ); return 0; }
Funcin gotoxy
Mueve el cursor de la ventana de texto a la posicin segn las coordenadas especificadas por los argumentos x e y. Si las coordenadas no son vlidas entonces la llamda a la funcin gotoxy es ignorada. Los argumentos no pueden ser 0.
Valor de retorno:
La funcin gotoxy no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"gotoxy\"\r\n\r\n" ); cprintf( "1 lnea" ); cprintf( "2 lnea" ); gotoxy( 5, 20 ); cprintf( "3 lnea" ); gotoxy( 20, 1 ); cprintf( "4 lnea" ); gotoxy( 1, 15 ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin graphdefaults
Esta funcin es usada para reiniciar todos los datos grficos a sus valores originales, o por defecto. La funcin graphdefaults reinicia la pantalla del usuario para que cubra la pantalla entera, mueve el cursor a la posicin (0,0), y reinicia la paleta actual a sus colores por defecto. Tambin 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 justificacin de texto.
Valor de retorno:
La funcin graphdefaults no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setcolor( 4 ); setviewport( 250, 150, 350, 250, 1 ); graphdefaults(); circle( 300, 200, 50 ); getch(); closegraph(); return 0; }
Funcin grapherrormsg
Esta funcin es usada para obtener una cadena de caracteres conteniendo el mensaje de error para un cdigo de error especificado. El argumento codigo_error especifica el valor del cdigo de error. La funcin graphresult debe ser usada para obtener el cdigo de error usado para el argumento codigo_error.
Valor de retorno:
La funcin grapherrormsg retorna una cadena de caracteres.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int codigo_error; char *mensaje_error; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setgraphmode( 40 ); /* Creamos un ERROR */ codigo_error = graphresult(); strcpy( mensaje_error, grapherrormsg( codigo_error ) ); closegraph(); printf( "ERROR: \"%s\" (%d)\n", mensaje_error, codigo_error ); return 0; }
Funcin graphfreemem
Esta funcin es usada por la librera grfica para desadjudicar memoria previamente reservada mediante una llamada a la funcin _graphgetmem. Esta funcin es llamada por la librera grfica cuando se quiere liberar memoria. Por defecto, la funcin simplemente llama a free, pero se puede controlar la administracin de memoria de la librera grfica. La forma de hacer esto es simplemente creando la definicin de la funcin, con el mismo prototipo mostrado aqu.
Valor de retorno:
La funcin _graphfreemem no retorna ningn valor.
Ejemplo:
#include #include #include #include <graphics.h> <conio.h> <stdio.h> <stdlib.h>
void far _graphfreemem( void far *ptr, unsigned tamanyo ) { printf( "__graphfreemem ha sido llamado para " "desadjudicar %d bytes en memoria\n" ); printf( "para el montn (heap) interno\n", tamanyo ); printf( "Pulse cualquier tecla...\n\n" ); getch(); free( ptr ); } void far * far _graphgetmem( unsigned tamanyo ) { printf( "__graphgetmem ha sido llamado para " "adjudicar %d bytes en memoria\n" ); printf( "para el montn (heap) interno\n", tamanyo ); printf( "Pulse cualquier tecla...\n\n" ); getch(); return malloc( tamanyo ); } int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=graphfreemem (1 de 2) [04/12/2003 18:14:42]
Funcin graphfreemem
initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); circle( 200, 100, 50 ); getch(); closegraph(); return 0; }
Funcin graphgetmem
Esta funcin es usada por la librera grfica para adjudicar memoria grfica para bfers internos, dispositivos grficos, y fuentes. Esta funcin tiene como intencin ser llamada por la librera grfica cuando se quiere adjudicar memoria. Por defecto, la funcin simplemente llama a malloc, pero se puede controlar la administracin de memoria de la librera grfica. La forma de hacer esto es simplemente creando la definicin de la funcin, con el mismo prototipo mostrado aqu.
Valor de retorno:
La funcin _graphgetmem no retorna ningn valor.
Ejemplo:
#include #include #include #include <graphics.h> <conio.h> <stdio.h> <stdlib.h>
void far _graphfreemem( void far *ptr, unsigned tamanyo ) { printf( "__graphfreemem ha sido llamado para " "desadjudicar %d bytes en memoria\n" ); printf( "para el montn (heap) interno\n", tamanyo ); printf( "Pulse cualquier tecla...\n\n" ); getch(); free( ptr ); } void far * far _graphgetmem( unsigned tamanyo ) { printf( "__graphgetmem ha sido llamado para " "adjudicar %d bytes en memoria\n" ); printf( "para el montn (heap) interno\n", tamanyo ); printf( "Pulse cualquier tecla...\n\n" ); getch(); return malloc( tamanyo ); } int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=graphgetmem (1 de 2) [04/12/2003 18:14:47]
Funcin graphgetmem
initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); circle( 200, 100, 50 ); getch(); closegraph(); return 0; }
Funcin graphresult
Esta funcin obtiene y retorna el cdigo de error para la ltima llamada sin xito. Adems, reinicia el nivel de error a 0, o grOk. Existen varios valores de cdigos de error.
Valor de retorno:
La funcin graphresult retorna el cdigo de error de la ltima llamada grfica sin xito.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int codigo_error; char *mensaje_error; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setgraphmode( 40 ); /* Creamos un ERROR */ codigo_error = graphresult(); strcpy( mensaje_error, grapherrormsg( codigo_error ) ); closegraph(); printf( "ERROR: \"%s\" (%d)\n", mensaje_error, codigo_error ); return 0; }
Funcin highvideo
void highvideo(void);
Selecciona los caracteres con una mayor intensidad mediante activando el bit de la mayor intensidad del color de primer plano en uso. La funcin highvideo no afecta cualesquiera de los caracteres actualmente en pantalla, pero s afecta aqullas mostradas por funciones que usan el vdeo directamente para la salida en modo texto despus de llamar a la funcin highvideo.
Valor de retorno:
La funcin highvideo no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"highvideo\" y \"lowvideo\"\r\n\r\n" ); cprintf( "Este texto tiene su propia intensidad.\r\n" ); cprintf( "Ahora cambiaremos la intensidad.\r\n" ); highvideo(); cprintf( "La intensidad a partir de ahora es mayor.\r\n" ); cprintf( "Ahora lo cambiaremos a una intensidad menor.\r\n" ); lowvideo(); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin imagesize
unsigned far imagesize(int izquierda, int superior, int derecha, int inferior);
Esta funcin es usada para determinar el tamao del bfer necesitado para almacenar una imagen con la funcin 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.
Valor de retorno:
La funcin imagesize retorna el nmero actual de bytes necesarios si el tamao requerido es menor que 64 Kb menos 1 byte. Si esto no es el caso, el valor retornado es 0xFFFF, -1.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdlib.h> int main() { int gdriver = EGA; int gmodo = EGAHI; void *imagen; int imagentam; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setfillstyle( SLASH_FILL, 5 ); bar( 50, 50, 350, 300 ); imagentam = imagesize( 50, 50, 100, 100 ); imagen = malloc( imagentam ); getimage( 50, 50, 100, 100, imagen ); putimage( 400, 50, imagen, COPY_PUT ); putimage( 400, 110, imagen, COPY_PUT ); getch(); /* Pausa */ closegraph(); free( imagen );
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=imagesize (1 de 2) [04/12/2003 18:15:09]
Funcin imagesize
return 0; }
Funcin initgraph
void far initgraph(int far *driver, int far *modo, int far *path);
Esta funcin es usada para cargar o validar un dispositivo grfico y cambiar el sistema de vdeo a modo grfico. La funcin initgraph debe ser llamada antes de cualesquier funciones que generan una salida grfica sean usadas. Existen varios valores a ser usados para el argumento *driver. Si *driver es asignado a DETECT, 0, la funcin detectgraph es llamada, y un dispositivo y modo grfico apropiados son seleccionados. Asignando a *driver cualquier otro valor predefinido inicia la carga del dispositivo grfico correspondiente. Existen varios valores a ser usados para el argumento *modo. Estos valores deberan corresponder al dispositivo especificado en el argumento *driver. El argumento *path especificad el directorio donde los dispositivos grficos estn localizados. La funcin initgraph buscar el dispositivo primeramente en este directorio. Si no es encontrado, la funcin 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.
Valor de retorno:
La funcin initgraph no retorna ningn valor. Sin embargo, cuando la funcin initgraph es llamada, el cdigo de error interno es activado. Si la funcin initgraph termina con xito, el cdigo es asignado un 0. Si no, el cdigo es asignado as: -2 grNotDetected La tarjeta grfica no se encontr -3 grFileNotFound El fichero del dispositivo no se encontr -4 grInvalidDriver El fichero del dispositivo es invlido -5 grNoLoadMem No hay suficiente memoria para cargar el dispositivo
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" );
Funcin initgraph
*/ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); circle( 300, 200, 80 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin inport
Lee 1 byte de la parte baja de 1 palabra (word) desde el puerto de entrada indicado por el argumento id_puerto; lee el byte alto desde id_puerto+1. La funcin inport funciona de la misma manera que la instruccin 80x86 IN.
Valor de retorno:
La funcin inport retorna el valor ledo de una palabra (word) de tamao desde el puerto apuntado por el argumento id_puerto e id_puerto+1.
Ejemplo:
#include <conio.h> int main() { int valor, id_puerto=0;
/* Puerto de serie 0 */
valor = inport( id_puerto ); clrscr(); cprintf( "Ejemplo de \"inport\"\r\n\r\n" ); cprintf( "Leemos 1 word desde el puerto %d: 0x%X.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin insline
void insline(void);
Inserta una lnea vaca en la ventana de texto en la posicin del cursor usando el color de fondo de texto en uso. Todas las lneas debajo de la vaca son mudadas una lnea ms abajo, y la lnea inferior es mudada fuera de la ventana.
Valor de retorno:
La funcin insline no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"inline\"\r\n\r\n" ); cprintf( "Aadiremos una lnea vaca depus de sta.\r\n" ); insline(); cprintf( "\r\nPulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin installuserdriver
Esta funcin permite al usuario aadir dispositivos adicionales de otras compaas o grupos a la tabla interna BGI de los dispositivos. El argumento *nombre define el nombre del fichero nuevo del dispositivo .BGI. El parmetro *detectar es un puntero a una funcin opcional para autodetectar que puede ser o no ser provisto con el dispositivo nuevo. La funcin de autodetectacin espera no recibir ningn parmetro y retorna un valor entero.
Valor de retorno:
La funcin installuserdriver retorna el parmetro del nmero del dispositivo que hubiese sido pasado a la funcin initgraph para seleccionar un dispositivo nuevo.
Ejemplo:
/* Este programa no funcionar, ya que se ** necesitara otra tarjeta grfica ** desconocida por las libreras grficas de BGI. ** Esto slo es para poner un ejemplo. */ #include <graphics.h> int huge detectarSMGGA( void ) { int driver, modo, modo_sugerirdo=0; detectgraph( &driver, &modo ); if( SMGGA == driver ) return modo_sugerido; return grError; } int main() { int gdriver, gmodo;
Funcin installuserdriver
/* Intentamos instalar nuestra tarjeta grfica: ** Sper Mega Guay Graphics Array (SMGGA) ** Ya s que suena muy cursi, pero esto slo es un ejemplo :) */ gdriver = installuserdriver( "SMGGA", detectarSMGGA ); /* Forzamos a que use nuestra funcin para autodetectar */ gdriver = DETECT; initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); closegraph(); return 0; }
Funcin installuserfont
Esta funcin carga un fichero de fuente escalable que no est provisto con el sistema BGI. El parmetro *nombre especifica el nombre del fichero fuente a cargar, en el directorio de inicio. El sistema grfico puede tener hasta veinte fuentes instaladas a la vez.
Valor de retorno:
La funcin installuserfont retorna el nmero de identificacin de la fuente que es usada para selccionar la fuente nueva a travs de la funcin settextstyle. Si la tabla interna de fuentes est llena, un valor de -11 (grError) es retornado, indicando un error.
Ejemplo:
/* Este programa no funcionar, ya que se ** necesitara tener una fuente nueva ** y desconocida por las libreras grficas de BGI. ** Esto slo es para poner un ejemplo. */ #include <graphics.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int fuente_SMGF; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); /* Intentamos instalar nuestra fuente nueva: ** Sper Mega Chula Fuente (SMGF) ** Ya s que suena muy cursi, pero esto slo es un ejemplo :) */ if( (fuente_SMGF = installuserfont( "SMGF.CHR" )) != grError ) settextstyle( fuente_SMGF, HORIZ_DIR, 4 ); else settextstyle( DEFAULT_FONT, HORIZ_DIR, 4 ); closegraph(); return 0;
Funcin installuserfont
Funcin kbhit
int kbhit(void);
Revisa si una tecla pulsada est disponible. Cualesquier pulsadas disponibles pueden ser recogidas con las funciones getch o getche.
Valor de retorno:
La funcin kbhit retorna 0 si no se ha registrado una pulsada de tecla; si hay una disponible, entonces el valor retornado es distinto a cero.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"kbhit\"\r\n\r\n" ); cprintf( "El programa est a la espera de registrar una tecla pulsada.\r\n" ); while( !kbhit() ); cprintf( "El carcter es \'%c\'\r\n", getch() ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin line
void far line(int x1, int y1, int x2, int y2);
Esta funcin es usada para conectar dos puntos con una lnea recta. El primer punto es especificado por los argumentos x1 e y1. El segundo punto es especificado por los argumentos x2 e y2. La lnea se dibuja usando el estilo de lnea actual, el grosor, y el color actual. La posicin del cursor grfico no es afectado por la funcin line.
Valor de retorno:
La funcin line no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); line( 20, 40, 350, 100 ); line( 400, 30, 50, 250 ); getch(); closegraph(); return 0; }
Funcin linerel
Esta funcin es usada para dibujar una lnea recta a una distancia y direccin predeterminadas desde la posicin actual del cursor grfico. El argumento dx especifica el nmero relativo de pxels para atravesar en la direccin horizontal. El argumento dy especifica el nmero relativo de pxels para atravesar en la direccin vertical. Estos argumentos pueden ser tanto valores positivos como negativos. La lnea se dibuja usando el estilo de lnea actual, el grosor, y el color actual desde la posicin actual del cursor grfico a travs de la distancia relativa especificada. Cuando la lnea est terminada, la posicin del cursor grfico es actualizado al ltimo punto de la lnea.
Valor de retorno:
La funcin linerel no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); moveto( 20, 20 ); linerel( 20, 40 ); linerel( 40, 30 ); getch(); closegraph(); return 0; }
Funcin lineto
Esta funcin es usada para dibujar una lnea recta desde la posicin actual del cursor grfico hasta el punto especificado por los argumentos x e y. La lnea se dibuja usando el estilo de lnea actual, el grosor, y el color actual. Despus de que la lnea recta haya sido dibujado, la posicin del cursor grfico es actualizado a la posicin especificado por los argumentos x e y (el punto final de la lnea).
Valor de retorno:
La funcin lineto no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); moveto( 20, 20 ); lineto( 40, 60 ); lineto( 80, 90 ); getch(); closegraph(); return 0; }
Funcin lowvideo
void lowvideo(void);
Selecciona los caracteres con una menor intensidad mediante activando el bit de la menor intensidad del color de primer plano en uso. La funcin lowvideo no afecta cualesquiera de los caracteres actualmente en pantalla, pero s afecta aqullas mostradas por funciones que usan el vdeo directamente para la salida en modo texto despus de llamar a la funcin lowvideo.
Valor de retorno:
La funcin lowvideo no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"highvideo\" y \"lowvideo\"\r\n\r\n" ); cprintf( "Este texto tiene su propia intensidad.\r\n" ); cprintf( "Ahora cambiaremos la intensidad.\r\n" ); highvideo(); cprintf( "La intensidad a partir de ahora es mayor.\r\n" ); cprintf( "Ahora lo cambiaremos a una intensidad menor.\r\n" ); lowvideo(); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin moverel
Esta funcin es usada para mover la posicin del cursor grfico a una distancia relativa como los argumentos dx y dy. El argumento dx define la distancia relativa a moverse en la direccin horizontal. El argumento dy define la distancia relativa a moverse en la direccin vertical. Estos valores pueden ser positivos o negativos. No se dibuja ya que el cursor es mudado.
Valor de retorno:
La funcin moverel no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); moveto( 20, 20 ); linerel( 20, 40 ); moverel( 50, 50 ); linerel( 40, 30 ); getch(); closegraph(); return 0; }
Funcin movetext
int movetext(int izquierda, int superior, int derecha, int inferior, int destino_izquierda, int destino_superior);
Copia el contenido en un rectngulo de texto en pantalla definido por los argumentos izquierda y superior, que describen la esquina superior izquierda y por los argumentos derecha e inferior, que describen la esquina inferior derecha, a otro rectngulo de iguales dimensiones. La esquina superior izquierda del nuevo rectngulo est especificada por los argumentos destino_izquierda y destino_superior. Todas las coordenadas son coordenadas absolutas de pantalla; no son relativas a la ventana. Los rectngulos que ocupan el mismo rea son mudados acordemente. La funcin movetext usa la salida de vdeo directamente.
Valor de retorno:
La funcin movetext retorna un valor distinto a 0, si la operacin tiene xito. Si ocurre un error, como es el caso de acceder fuera de la pantalla, entonces retorna el valor de 0.
Ejemplo:
#include <conio.h> #define ANCHURA 25 #define ALTURA 2 int main() { clrscr(); cprintf( "Ejemplo de \"movetext\"\r\n\r\n" ); cprintf( "El rectngulo ser de un rea relativamente pequea.\r\n" ); cprintf( "Copiaremos esta lnea...\r\n...y sta tambin.\r\n" ); cprintf( "Las dimensiones son: %d (de ancho) x %d (de alto).\r\n", ANCHURA, ALTURA ); cprintf( "\"movetext\" ha retornado: %d\r\n", movetext( 1, 4, ANCHURA, 3+ALTURA, 5, 15 ) ); cprintf( "Pulsa una tecla para continuar..." ); getch(); clrscr(); return 0; }
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=moveto
Esta funcin es usada para colocar el cursor grfico al punto especificado por los argumentos x e y. Ya que el cursor es movido desde su posicin anterior al punto especificado por los argumentos x e y, no hay dibujo alguno.
Valor de retorno:
La funcin moveto no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); moveto( 20, 20 ); lineto( 40, 60 ); lineto( 80, 90 ); getch(); closegraph(); return 0; }
Funcin normvideo
void normvideo(void);
Selecciona los caracteres con una intensidad normal mediante seleccionando el atributo del texto (primer plano y de fondo) al valor que tena anteriormente al comienzo del programa. La funcin normvideo no afecta cualesquiera de los caracteres actualmente en pantalla, pero s afecta aqullas mostradas por funciones que usan el vdeo directamente para la salida en modo texto despus de llamar a la funcin normvideo.
Valor de retorno:
La funcin normvideo no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"normvideo\"\r\n\r\n" ); cprintf( "Este texto tiene su propia intensidad.\r\n" ); cprintf( "Ahora cambiaremos la intensidad.\r\n" ); normvideo(); cprintf( "La intensidad a partir de ahora es mayor.\r\n" ); cprintf( "Ahora lo cambiaremos a una intensidad menor.\r\n" ); lowvideo(); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin outport
Escribe el ltimo byte de 1 palabra (word) al puerto de salida indicado por el argumento id_puerto; escribe el primer byte a id_puerto+1. La funcin outport funciona de la misma manera que la instruccin 80x86 OUT.
Valor de retorno:
La funcin outport retorna el valor escrito de una palabra (word) de tamao al puerto apuntado por el argumento id_puerto e id_puerto+1.
Ejemplo:
#include <conio.h> int main() { int valor=0xFFAA, id_puerto=0;
/* Puerto de serie 0 */
outport( id_puerto, valor ); clrscr(); cprintf( "Ejemplo de \"outport\"\r\n\r\n" ); cprintf( "Escribimos 1 word (2 bytes) al puerto %d: 0x%X.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin outtext
Esta funcin 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 grfico actualmente usando el color actual y fuente, direccin, valores, y justificaciones de texto. La posicin del cursor permanece sin ser cambiado al menos que la justificacin horizontal actual es LEFT_TEXT y la orientacin del texto es HORIZ_DIR. Cuando esto sea el caso, la posicin del cursor es colocada horizontalmente a la anchura del pxel de la cadena de texto. Adems, cuando se use la fuente por defecto, cualquier texto que se extiende a fuera del rea grfica actual es truncado. Aunque la funcin outtext est diseada para texto sin formato, texto con formato puede ser mostrada a travs del uso de un bfer de caracteres y la funcin sprintf.
Valor de retorno:
La funcin outtext no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; char mensaje[40]; char nombre[25]; printf( "Escribe tu nombre: " ); scanf( "%s", nombre ); sprintf( mensaje, "Hola %s!", nombre ); /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); outtext( mensaje ); outtextxy( 300, 150, mensaje ); getch(); closegraph();
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=outtext (1 de 2) [04/12/2003 18:16:24]
Funcin outtext
return 0; }
Funcin outtextxy
Esta funcin 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 posicin descrita por los argumentos x e y usando el color actual y fuente, direccin, valores, y justificaciones de texto. Cuando se use la fuente por defecto, cualquier texto que se extiende fuera del rea grfica actual es truncado. Aunque la funcin outtextxy est diseada para texto sin formato, texto con formato puede ser mostrada a travs del uso de un bfer de caracteres y la funcin sprintf.
Valor de retorno:
La funcin outtextxy no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; char mensaje[40]; char nombre[25]; printf( "Escribe tu nombre: " ); scanf( "%s", nombre ); sprintf( mensaje, "Hola %s!", nombre ); /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); outtext( mensaje ); outtextxy( 300, 150, mensaje ); getch(); closegraph(); return 0; }
Funcin outtextxy
Funcin pieslice
void far pieslice(int x, int y, int comienzo_angulo, int final_angulo, int radio);
Esta funcin es usada para dibujar y rellenar un una cua circular. La cua circular est centrada en el punto especificado por los argumentos x e y. La porcin circular de la cua 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 funcin pieslice considera este - el eje horizontal a la derecha del centro - como su punto de referencia de 0 grados. El permetro de la cua es dibujado con el color actual y es rellenado con la trama y color de relleno actual.
Valor de retorno:
La funcin pieslice no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); pieslice( 300, 150, 45, 225, 50 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin putch
Muesrta un carcter, especificado por el argumento c, directamente a la ventana de texto en uso. La funcin putch usa el vdeo directamente para mostrar caracteres. Esto se realiza mediante una escritura directa a la memoria de la pantalla o mediante una llamada a la BIOS, dependiendo del valor de la variable global _directvideo. Esta funcin no convierte los caracteres de nueva lnea (\n) en la pareja de caracteres de retorno de lnea/nueva lnea (\r\n).
Valor de retorno:
La funcin putch retorna el carcter mostrado, si tiene xito; si ocurre un error, entonces retorna EOF.
Ejemplo:
#include <conio.h> #include <stdio.h> int main() { char mensaje[8]="Borland"; int i=0; clrscr(); cprintf( "Ejemplo de \"putch\"\r\n\r\n" ); cprintf( "El mensaje es: \"" ); while( putch( mensaje[i++] ) != EOF ); cprintf( "\"\r\nPulsa una tecla para continuar..." ); getch(); return 0; }
Funcin putimage
void far putimage(int izquierda, int superior, void far *imagen, int accion);
Esta funcin coloca una imagen que fue previamente guardada con la funcin 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 bfer de memoria donde la imagen est guardada. La imagen se coloca en la pantalla con la accin defindia en el argumento accion. Los valores y consonantes usados por el argumento accion se describen a continuacin: Constante Valor Significado COPY_PUT 0 Sobrescribir los pxels existentes XOR_PUT 1 Operacin OR Exclusivo con los pxels OR_PUT 2 Operacin OR Inclusivo con los pxels AND_PUT 3 Operacin AND con los pxels NOT_PUT 4 Invertir la imagen
Valor de retorno:
La funcin putimage no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdlib.h> int main() { int gdriver = EGA; int gmodo = EGAHI; void *imagen; int imagentam; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setfillstyle( SLASH_FILL, 5 ); bar( 50, 50, 350, 300 );
Funcin putimage
imagentam = imagesize( 50, 50, 100, 100 ); imagen = malloc( imagentam ); getimage( 50, 50, 100, 100, imagen ); putimage( 400, 50, imagen, COPY_PUT ); putimage( 400, 110, imagen, COPY_PUT ); getch(); /* Pausa */ closegraph(); free( imagen ); return 0; }
Funcin putpixel
Esta funcin es usada para asignar el valor del color a un pxel en particular. La posicin del pxel en cuestin est especificado por los argumentos x e y. El argumento color especifica el valor del color del pxel. Existen varios valores para describir colores.
Valor de retorno:
La funcin putpixel no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int t; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); for( t=0; t<200; t++ ) putpixel( 100+t, 50+t, t%16 ); getch(); closegraph(); return 0; }
Funcin puttext
int puttext(int izquierda, int superior, int derecha, int inferior, void *origen);
Imprime el contenido en un rectngulo de texto en pantalla definido por los argumentos izquierda y superior, que describen la esquina superior izquierda y por los argumentos derecha e inferior, que describen la esquina inferior derecha, en el rea de memoria apuntada por el argumento origen. Todas las coordenadas son coordenadas absolutas de pantalla; no son relativas a la ventana. La esquina superior izquierda es (1,1). La funcin puttext coloca el contenido de este rectngulo en memoria secuencialmente de izquierda a derecha y de arriba a abajo. Cada posicin en pantalla contiene 2 bytes de memoria. El primer byte es el carcter en la celda y el segundo es el atributo de vdeo de la celda. El espacio requerido para un rectngulo b columnas anchas y h filas altas est definida como: bytes = (h filas) x (w anchas) x 2. La funcin puttext usa la salida directa de vdeo.
Valor de retorno:
La funcin puttext retorna un valor distinto a 0, si la operacin tiene xito. Si ocurre un error, como es el caso de acceder fuera de la pantalla, entonces retorna el valor de 0.
Ejemplo:
#include <conio.h> #include <stdlib.h> #define ANCHURA 15 #define ALTURA 5 int main() { void *destino; destino = malloc( ALTURA*ANCHURA*2 ); clrscr(); cprintf( "Ejemplo de \"gettext\" y \"puttext\"\r\n\r\n" ); cprintf( "El rectngulo ser de un rea relativamente pequea.\r\n" ); cprintf( "Las dimensiones son: %d (de ancho) x %d (de alto).\r\n", ANCHURA, ALTURA ); cprintf( "Pulsa una tecla para continuar..." ); getch(); cprintf( "\"gettext\" ha retornado: %d\r\n", gettext( 1, 1, 1+ANCHURA, 1+ALTURA, destino ) ); cprintf( "Mostremos lo que hay guardado en memoria:" ); puttext( 1, 9, 1+ANCHURA, 9+ALTURA, destino ); getch(); clrscr(); free( destino ); return 0; }
Funcin rectangle
void far rectangle(int izquierda, int superior, int derecha, int inferior);
Esta funcin dibujar un rectngulo sin rellenar su interior usando el color actual. La esquina superior izquierda del rectngulo 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 rectngulo. El permetro del rectngulo es dibujado usando el estilo y grosor de lnea actuales.
Valor de retorno:
La funcin rectangle no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); rectangle( 20, 20, 400, 300 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin registerbgidriver
Esta funcin es usada para cargar y registrar un dispositivo grfico. 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.
Valor de retorno:
La funcin registerbgidriver retorna nmero del dispositivo cuando tiene xito. Un cdigo de error, un nmero negativo, es retornado si el dispositivo especificado es invlido.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: */ registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); */ rectangle( 20, 20, 400, 300 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin registerbgifont
Esta funcin 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 grfico; no es necesario ligarlo al programa.
Valor de retorno:
La funcin registerbgifont retorna nmero del dispositivo cuando tiene xito. Un cdigo de error, un nmero negativo, es retornado si el dispositivo especificado es invlido.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos y fuente para que formen parte de graphics.lib ** entonces usa estas sentencias: */ registerbgidriver( EGAVGA_driver ); registerbgifont( sansserif_font ); initgraph( &gdriver, &gmodo, "" ); /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); */ outtext( "Esto es una prueba con la fuente \"Sans Serif\"" ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin restorecrtmode
Esta funcin es usada para reiniciar el modo grfico del vdeo al modo en uso anterior a la incializacin del sistema grfico. Esta funcin suele ser usada en conjuncin con la funcin setgraphmode para cambiar entre ambos modos de texto y de grficos.
Valor de retorno:
La funcin restorecrtmode no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos y fuente para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); outtext( "Esto es una prueba para cambiar entre modo grfico..." ); getch(); restorecrtmode(); printf( "...y en modo texto.\nPulsa una tecla para volver\n" ); getch(); setgraphmode( gmodo ); rectangle( 200, 100, 400, 250 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin sector
void far sector(int x, int y, int comienzo_angulo, int final_angulo, int x_radio, int y_radio);
Esta funcin es usada para dibujar una cua elptica. El centro de la cua elptica 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 cua elptica. La cua elptica comienza al ngulo especificado por el argumento comienzo_angulo y es dibujado en la direccin contraria al de las agujas del reloj hasta llegar al ngulo especificado por el argumento final_angulo. La cua elptica es dibujado con el permetro en el color actual y rellenada con el color de relleno y la trama de relleno actuales.
Valor de retorno:
La funcin sector no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setfillstyle( SOLID_FILL, 6 ); sector( 300, 150, 45, -45, 150, 50 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setactivepage
Esta funcin es usada para especificar un nmero de pgina que representa una seccin de memoria del vdeo donde todos los datos grficos para mostrar son enviados. Est seccin de memoria se denomina una pgina activa. El argumento pagina especifica el nmero de la pgina activa. Para usar esta funcin con eficacia, el adaptador de vdeo usado debe ser EGA o VGA y tener suficiente memoria para soportar mltiples pginas para grficos. Esta funcin es usada con la funcin setvisualpage para dibujar pginas no visuales y para crear animacin.
Valor de retorno:
La funcin setactivepage no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int visual=1; printf( "Instrucciones:\nPulsa el espacio para cambiar de " "pgina, cualquier otra tecla para salir\n" ); printf( "(Pulsa cualquier tecla para entrar en modo grfico)\n" ); getch(); /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setactivepage( 0 ); setfillstyle( SOLID_FILL, 6 ); sector( 300, 150, 45, 315, 150, 50 ); setactivepage( 1 ); setfillstyle( SOLID_FILL, 6 ); sector( 300, 150, 90, 270, 150, 50 ); while( getch() == ' ' ) { setvisualpage( visual );
Funcin setactivepage
Funcin setallpalette
Esta funcin 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 aqullos definidos en la estructura palettetype. La sntaxis de la estructura palettetype es:
#define MAXCOLORS 15 struct palettetype { unsigned char size; signed char colors[MAXCOLORS+1]; }
El campo size indica el nmero de colores de la paleta actual. El campo colors es un array que contiene los valores numricos 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 funcin setallpalette no debera usarse con el dispositivo IBM-8514.
Valor de retorno:
La funcin setallpalette no retorna ningn valor; sin embargo, si los valores pasados son invlidos, entonces la funcin graphresult retorna grError (-11) y la paleta no es alterada.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct palettetype palette; int size, temp, i, y=0; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" );
Funcin setallpalette
getpalette( &palette ); size = palette.size; for( i=0; i<size; i++ ) { y += 30; setcolor( palette.colors[i] ); line( 20, y, 520, y ); } getch(); /* Pausa */ for( i=0; i<size/2; i++ ) { temp = palette.colors[i]; palette.colors[i] = palette.colors[size-1-i]; palette.colors[size-1-i] = temp; } setallpalette( &palette ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setaspectratio
Esta funcin es usada para modificar la proporcin anchura-altura del modo grfico actual. La proporcin anchura-altura puede definirse como la proporcin de la anchura del pxel del modo grfico y la altura del pxel. Esta proporcin es usada por el sistema grfico para calcular crculos y arcos. Por ello, alterando la proporcin anchura-altura afectar la visualizacin de estas funciones. La funcin getaspectratio puede ser usada para obtener las opciones por defecto del modo actual anteriormente a ser modificados.
Valor de retorno:
La funcin setaspectratio no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int x_proporcion, y_proporcion; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getaspectratio( &x_proporcion, &y_proporcion ); circle( 300, 150, 50 ); getch(); /* Pausa */ setaspectratio( 2*x_proporcion, y_proporcion ); circle( 300, 150, 50 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setbkcolor
Esta funcin es usada para asignar el color de fondo al valor del color de fondo especificado por el argumento color. Existen varios valores para ciertos colores de fondo.
Valor de retorno:
La funcin setbkcolor no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setbkcolor( 4 ); circle( 300, 150, 50 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setcursortype
Selecciona la apriencia del cursor entre tres tipos. El argumento tipo_cursor indica el tipo de cursor a seleccionar segn stos: _NOCURSOR Desactiva el cursor Cursor normal: el _NORMALCURSOR carcter de subrayado Cursor es un cuadrado _SOLIDCURSOR relleno
Valor de retorno:
La funcin _setcursortype no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { char nombre[15], si_no=' '; _setcursortype( _SOLIDCURSOR ); clrscr(); cprintf( "Ejemplo de \"_setcursortype\"\r\n\r\n" ); cprintf( "Cambiamos el cursor a cuadrado.\r\n\r\n" ); cprintf( "Escribe tu nombre: " ); cscanf( "%s", &nombre ); cprintf( "\r\n(Ahora desactivaremos el cursor)\r\n\r\n" ); _setcursortype( _NOCURSOR ); cprintf( "Escribiste \"%s\", es esto correcto? (s/n) ", nombre ); while( si_no != 's' && si_no != 'n' ) si_no = getche(); cprintf( "\r\nOpcin: %s\r\n", 's'==si_no ? "SI" : "NO" ); cprintf( "Pulsa una tecla para continuar..." ); getch(); _setcursortype( _NORMALCURSOR ); return 0; }
Funcin setfillpattern
Esta funcin 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 pxel correspondiente ser asignado el color de relleno actual. Un bit de 0 indica que el pxel correspondiente no ser alterado. El argumento color especifica el color de relleno que ser usado para la trama.
Valor de retorno:
La funcin setfillpattern no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; char trama1[8] = { 0x33, 0xEE, 0x33, 0xEE, 0x33, 0xEE, 0x33, 0xEE }; char trama2[8] = { 0x0A, 0xF0, 0xF0, 0x0A, 0x0A, 0xF0, 0xF0, 0x0A }; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); bar( 50, 50, 150, 150 ); setfillpattern( trama1, 9 ); bar( 160, 50, 260, 150 ); setfillpattern( trama2, 4 ); bar( 105, 160, 205, 260 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setfillstyle
Esta funcin 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 debera usarse para asignar unla trama definida por el usuario. En su lugar, se debera usar la funcin setfillpattern.
Valor de retorno:
La funcin setfillstyle no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setfillstyle( LTSLASH_FILL, 6 ); bar( 50, 50, 350, 300 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setgraphbufsize
Esta funcin es usada para cambiar el tamao del bfer grfico interno como es asignado por la funcin initgraph cuando el sistema grfico es inicializado. El bfer grfico es usado por varias funciones grficos; por ello, se debera tener un mayor cuidado cuando se altera este bfer del tamao por defecto de 4096. La funcin setgraphbufsize se debera llamar antes de llamar a la funcin initgraph.
Valor de retorno:
La funcin setgraphbufsize retorna el tamao anterior del bfer grfico interno.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int buf_inicial, buf_nuevo=10000; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); buf_inicial = setgraphbufsize( buf_nuevo ); closegraph(); printf( "Bfer inicial: %d\tBfer nuevo: %d\n", buf_inicial, buf_nuevo ); return 0; }
Funcin setgraphmode
Esta funcin es usada para seleccionar el modo grfico actual pero solamente cuando el sistema grfico haya sido inicializado con la funcin initgraph. El argumento modo define el modo a usar segn el dispositivo actual. Adems de seleccionar un nuevo modo, la funcin setgraphmode despeja la pantalla y reinicia todas las opciones grficas a sus valores por defecto. Esta funcin suele usarse conjuntamente con restorecrtmode para cambiar entre modos grficos y de texto.
Valor de retorno:
La funcin setgraphmode no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos y fuente para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); outtext( "Esto es una prueba para cambiar entre modo grfico..." ); getch(); restorecrtmode(); printf( "...y en modo texto.\nPulsa una tecla para volver\n" ); getch(); setgraphmode( gmodo ); rectangle( 200, 100, 400, 250 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setlinestyle
Esta funcin es usada para definir las caractersticas de lneas para lneas rectas. El argumento estilo especifica la trama de lnea predefinida para su uso. El argumento trama es una trama de 16 bits que describe el estilo de lnea cuando el argumento estilo es USERBIT_LINE, 4. Un bit 1 en esta trama indica que el pxel correspondiente ser asignado el color actual. Un bit 0 indica que el pxel correspondiente no ser alterado. El argumento grosor define el grosor de la lnea. Existen varios valores para los diferentes estilos y grosores de lneas rectas.
Valor de retorno:
La funcin setlinestyle no retorna ningn valor; sin embargo, si un argumento es invlido, entonces la funcin graphresult retorna grError (11).
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos y fuente para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setlinestyle( DOTTED_LINE, 0, THICK_WIDTH ); line( 200, 300, 400, 50 ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setpalette
Esta funcin 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 funcin setpalette no debera usarse con el dispositivo IBM-8514.
Valor de retorno:
La funcin setpalette no retorna ningn valor; sin embargo, si los valores pasados son invlidos, entonces la funcin graphresult retorna grError (-11) y la paleta no es alterada.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct palettetype palette; int size, temp, i, y=0; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getpalette( &palette ); size = palette.size; for( i=0; i<size; i++ ) { y += 30; setcolor( palette.colors[i] ); line( 20, y, 520, y ); } getch(); /* Pausa */ for( i=0; i<size/2; i++ ) { temp = palette.colors[i];
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=setpalette (1 de 2) [04/12/2003 18:18:23]
Funcin setpalette
Funcin setrgbpalette
void far setrgbpalette(int num_paleta, int rojo, int verde, int azul);
Esta funcin 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) slo los seis bits ms signifcativos son cargados en la paleta. Por razones de compatibilidad con otros adaptadores grficos de IBM, el dispositivo BGI define las primeras diecisis 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 funcin setrgbpalette no debera usarse con el dispositivo IBM-8514.
Valor de retorno:
La funcin setrgbpalette no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct palettetype palette; int size, i, y=0; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getpalette( &palette ); size = palette.size; for( i=0; i<size; i++ ) { y += 30; setcolor( palette.colors[i] ); line( 20, y, 520, y ); } getch(); /* Pausa */
Funcin setrgbpalette
for( i=0; i<size; i++ ) setrgbpalette( i, 2*i+33, 42, 63-4*i ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin settextjustify
Esta funcin es usada para especificar el mtodo en el cual el texto es colocado en la pantalla con relacin a la posicin del cursor. El argumento horizontal define la justificacin horizontal, mientras que el argumento vertical indica la justificacin vertical. Existen varios valores y constantes para las justificaciones.
Valor de retorno:
La funcin settextjustify no retorna ningn valor; sin embargo, si los valores pasados son invlidos, entonces la funcin graphresult retorna grError (-11) y la paleta no es alterada.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); settextjustify( RIGHT_TEXT, BOTTOM_TEXT ); moveto(300, 200); outtext( "(RIGHT_TEXT, BOTTOM_TEXT)" ); settextjustify( RIGHT_TEXT, TOP_TEXT ); moveto(300, 200); outtext( "(RIGHT_TEXT, TOP_TEXT)" ); settextjustify( LEFT_TEXT, BOTTOM_TEXT ); moveto(300, 200); outtext( "(LEFT_TEXT, BOTTOM_TEXT)" ); settextjustify( LEFT_TEXT, TOP_TEXT ); moveto(300, 200); outtext( "(LEFT_TEXT, TOP_TEXT)" );
Funcin settextjustify
setcolor( 1 ); line( 300, 200, 300, 100 ); setcolor( 2 ); line( 300, 200, 300, 300 ); setcolor( 3 ); line( 300, 200, 100, 200 ); setcolor( 4 ); line( 300, 200, 500, 200 ); getch(); closegraph(); return 0; }
Funcin settextstyle
Esta funcin es usada para especificar las caractersticas 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 funcin. El argumento orientacion especifica la orientacin en que el texto ha de ser mostrado. La orientacin 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 tamao del carcter definido por el usuario usando la funcin setusercharsize, solamente funciona con fuentes escalables. El argumento tam_caracter puede agrandar el tamao de la fuente hasta 10 veces su tamao normal. Existen varios valores y constantes para las justificaciones.
Valor de retorno:
La funcin settextstyle no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; char mensaje[40]; char nombre[25]; printf( "Escribe tu nombre: " ); scanf( "%s", nombre ); sprintf( mensaje, "Hola %s!", nombre ); /* Esta fuente ha de ser enlazada antes de poder registrarla registerbgifont( sansserif_font ); */ /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" );
Funcin settextstyle
settextstyle( DEFAULT_FONT, 0, 2 ); outtextxy( 100, 50, mensaje ); settextstyle( DEFAULT_FONT, 1, 2 ); outtextxy( 200, 125, mensaje ); settextstyle( SANS_SERIF_FONT, 1, 3 ); outtextxy( 400, 150, mensaje ); getch(); closegraph(); return 0; }
Funcin setusercharsize
void far setusercharsize(int x_dividendo, int x_divisor, int y_dividendo, int y_divisor);
Esta funcin extablece las caractersticas de fuentes escalables. Para que esta funcin afecte el tamao del carcter, el argumento tam_caracter de la funcin settextstyle debe ser 0. La anchura del carcter se establece con los argumentos x_dividendo y x_divisor que representan la proporcin. Similarmente, los argumentos y_dividendo e y_divisor especifican la altura del carcter.
Valor de retorno:
La funcin setusercharsize no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; char mensaje[40]; char nombre[25]; printf( "Escribe tu nombre: " ); scanf( "%s", nombre ); sprintf( mensaje, "Hola %s!", nombre ); /* Esta fuente ha de ser enlazada antes de poder registrarla */ registerbgifont( sansserif_font ); /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); settextstyle( SANS_SERIF_FONT, 0, 0 ); setusercharsize( 1, 4, 1, 2 ); /* 25% de ancho; 50% de alto */ outtextxy( 100, 50, mensaje ); settextstyle( SANS_SERIF_FONT, 0, 1 ); outtextxy( 100, 125, mensaje ); settextstyle( SANS_SERIF_FONT, 1, 0 );
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=setusercharsize (1 de 2) [04/12/2003 18:18:41]
Funcin setusercharsize
Funcin setviewport
void far setviewport(int izquierda, int superior, int derecha, int inferior, int recorte_banderin);
Esta funcin es usada para definir el rea grfico. La esquina superior izquierda del rea grfica 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 grfica. El argumento recorte_banderin define si los datos para la salida grfica sern recortados por el borde del rea grfico. Un valor de 0 para recorte_banderin indica que los datos de salida no sern recortados, mientras que un valor distinto a 0 indica que los datos sern recortados. Cuando el rea grfica es incializada, la posicin del cursor ser mudado a la posicin (0,0) (la esquina superior izquierda). Todos los datos de salida despus de que el rea grfica haya sido inicializada sern con relacin a este punto. El rea grfica por defecto cubre la pantalla entera.
Valor de retorno:
La funcin setviewport no retorna ningn valor; sin embargo, si los valores pasados son invlidos, entonces la funcin graphresult retorna grError (-11) y el rea grfica no ser alterada.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int color; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); lineto( 100, 100 ); outtextxy( 15, 5, "Inicial" ); getch(); setviewport( 250, 200, 450, 300, 0 ); setcolor( 9 ); lineto( 100, 100 ); outtextxy( 15, 5, "Nueva" ); moveto( 0, 0 ); lineto( -50, -20 ); /* Fuera del rea */
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=setviewport (1 de 2) [04/12/2003 18:18:47]
Funcin setviewport
getch(); setviewport( 250, 200, 450, 300, 1 ); setcolor( 4 ); moveto( 120, 40 ); lineto( 150, -20 ); /* Fuera del rea */ outtextxy( 25, 15, "Con recorte" ); getch(); /* Pausa */ closegraph(); return 0; }
Funcin setvisualpage
Esta funcin es usada para establecer la pgina visual como es especificado por el argumento pagina. Una pgina es una seccin de memoria donde se guarda la informacin del vdeo. Cuando se usa con un sistema (EGA o VGA) con suficiente memoria de vdeo para soportar mltiples pginas de grficos, la funcin setvisualpage (junto con la funcin setactivepage) perimte al programador crear grficos en pginas escondidas y pasar de pgina entre las que se han definido con informacin grfica. Esto es la base para crear animacin.
Valor de retorno:
La funcin setvisualpage no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int visual=1; printf( "Instrucciones:\nPulsa el espacio para cambiar de pgina, cualquier otra tecla para salir\n" ); printf( "(Pulsa cualquier tecla para entrar en modo grfico)\n" ); getch(); /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setactivepage( 0 ); setfillstyle( SOLID_FILL, 6 ); sector( 300, 150, 45, 315, 150, 50 ); setactivepage( 1 ); setfillstyle( SOLID_FILL, 6 ); sector( 300, 150, 90, 270, 150, 50 ); while( getch() == ' ' ) { setvisualpage( visual ); visual = 0==visual ? 1 : 0; } closegraph();
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=setvisualpage (1 de 2) [04/12/2003 18:18:51]
Funcin setvisualpage
return 0; }
Funcin setwritemode
Esta funcin es usada para establecer el modo lgico de escritura para lneas rectas. El argumento modo especifica el modo de escritura, el cual determina la interaccin entre valores de pxels existentes y los valores de pxels en la lnea. Existen dos valores para los modos de escritura.
Valor de retorno:
La funcin setwritemode no retorna ningn valor.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setfillstyle( SOLID_FILL, 1 ); bar( 50, 50, 500, 300 ); setwritemode( COPY_PUT ); setcolor( 10 ); line( 20, 60, 220, 100 ); setwritemode( XOR_PUT ); line( 20, 80, 220, 120 ); getch(); closegraph(); return 0; }
Funcin textattr
Esta funcin asigna ambos colores de primer plano y de fondo en una sola llamada. (Normalmente, se asignan estos atributos mediante las funciones a textcolor y textbackground). La funcin textattr no afecta cualesquiera de los caracteres actualmente en pantalla, pero s afecta aqullas mostradas por funciones que usan el vdeo directamente para la salida en modo texto despus de llamar a la funcin textattr. La informacin de los colores est codificado en el argumento atributo segn este diagrama: Bits Valores 7 P 6 f 5 f 4 f 3 p 2 p 1 p 0 p
pppp es el color de primer plano de 4 bits (0-15). fff es el color de fondo de 3 bits (0-7). P es el bit de encendido de parpadeo.
Si el bit del parpadeo est activado, entonces los caracteres parpadean. Esto se puede lograr aadiendo la constante BLINK al atributo. Si se usan las constantes simblicas definidas en conio.h para crear los atributos de texto usando textattr, ten en cuenta las siguientes limitaciones para el color de fondo seleccionado:
G G
Slo se pueden elegir uno de los primeros ocho colores para el fondo. Debers mudar el color de fondo seleccionado 4 bits a la izquierda para que estn colocados en las posiciones correctas de los bits.
Valor de retorno:
La funcin textattr no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { /* Azul de fondo y rojo claro de texto */
http://localhost/conclase/c/Borland/pdf/funpdf.php?fun=textattr (1 de 2) [04/12/2003 18:19:01]
Funcin textattr
int atributo=BLUE << 4 | LIGHTRED; cprintf( "Ejemplo de \"textattr\"\r\n\r\n" ); textattr( atributo ); cprintf( "Este mensaje tiene otro color de fondo y de texto.\r\n" ); textattr( atributo + BLINK ); cprintf( "Este mensaje est parpadeando.\r\n" ); normvideo(); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin textbackground
Esta funcin selecciona el color de fondo especificado por el argumento color. Esta funcin solamente funciona con aquellas funciones que envan datos de salida en modo texto directamente a la pantalla. El argumento color es un nmero entero entre 0 y 7; tambin se pueden usar constantes simblicas definidas en conio.h en lugar de enteros. La funcin textattr no afecta cualesquiera de los caracteres actualmente en pantalla, pero s afecta aqullas mostradas por funciones que usan el vdeo directamente para la salida en modo texto despus de llamar a la funcin textattr. Existen varias constantes simblicas de colores para usar.
Valor de retorno:
La funcin textbackground no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { cprintf( "Ejemplo de \"textbackground\" y \"textcolor\"\r\n\r\n" ); textbackground( BLUE ); textcolor( LIGHTRED ); cprintf( "Este mensaje tiene otro color de fondo y de texto.\r\n" ); textbackground( WHITE ); cprintf( "Este mensaje tiene un color de fondo distinto.\r\n" ); normvideo(); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin textcolor
Esta funcin selecciona el color de texto especificado por el argumento color. Esta funcin solamente funciona con aquellas funciones que envan datos de salida en modo texto directamente a la pantalla. El argumento color es un nmero entero entre 0 y 15 y el nmero 128, para activar el parpadeo; tambin se pueden usar constantes simblicas definidas en conio.h en lugar de enteros. La funcin textcolor no afecta cualesquiera de los caracteres actualmente en pantalla, pero s afecta aqullas mostradas por funciones que usan el vdeo directamente para la salida en modo texto despus de llamar a la funcin textcolor. Existen varias constantes simblicas de colores para usar.
Valor de retorno:
La funcin textcolor no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { cprintf( "Ejemplo de \"textbackground\" y \"textcolor\"\r\n\r\n" ); textbackground( BLUE ); textcolor( LIGHTRED ); cprintf( "Este mensaje tiene otro color de fondo y de texto.\r\n" ); textbackground( WHITE ); cprintf( "Este mensaje tiene un color de fondo distinto.\r\n" ); normvideo(); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Funcin textheight
Esta funcin es usada para determinar la altura, en pxels, de la cadena de texto especificada por el argumento *texto. La altura del texto se determina usando la fuente actual y el tamao del carcter.
Valor de retorno:
La funcin textheight retorna la altura, en pxels, del texto especificado por el argumento.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int anchura, altura; char mensaje[5] = "Hola"; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); anchura = textwidth( mensaje ); altura = textheight( mensaje ); closegraph(); printf( "El mensaje: \"%s\" tiene de anchura: %d y altura: %d\n", mensaje, anchura, altura ); printf( "Pulsa una tecla para continuar...\n" ); getch(); return 0; }
Funcin textwidth
Esta funcin es usada para determinar la anchura, en pxels, de la cadena de texto especificada por el argumento *texto. La anchura del texto se determina usando la fuente actual y el tamao del carcter.
Valor de retorno:
La funcin textwidth retorna la anchura, en pxels, del texto especificado por el argumento.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int anchura, altura; char mensaje[5] = "Hola"; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); anchura = textwidth( mensaje ); altura = textheight( mensaje ); closegraph(); printf( "El mensaje: \"%s\" tiene de anchura: %d y altura: %d\n", mensaje, anchura, altura ); printf( "Pulsa una tecla para continuar...\n" ); getch(); return 0; }
Funcin ungetch
Empuja el carcter especificado por el argumento c de vuelta a la consola, forzando el carcter empujado, c, a ser el siguiente carcter ledo. La funcin ungetch no funciona si es llamada ms de una vez antes de la siguiente lectura.
Valor de retorno:
La funcin ungetch retorna el carcter empujado, si tiene xito; si no, entonces retorna EOF.
Ejemplo:
#include <conio.h> #include <ctype.h> int main() { char c; clrscr(); cprintf( "Ejemplo de \"ungetch\"\r\n\r\n" ); cprintf( "Escribe una letra: " ); if( (c = getche()) != EOF ) ungetch( toupper( c ) ); cprintf( "Se ha ledo: \'%c\'\r\n", getch() ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin wherex
int wherex(void);
Obtiene la coordenada x de la posicin del cursor actual (dentro de la ventana de texto en uso).
Valor de retorno:
La funcin wherex retorna un nmero entero entre 1 y el nmero de columnas en el modo de texto en uso.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"wherex\" y \"wherey\"\r\n\r\n" ); cprintf( "La posicin del cursor es: (%d,%d)\r\n", wherex(), wherey() ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin wherey
int wherey(void);
Obtiene la coordenada y de la posicin del cursor actual (dentro de la ventana de texto en uso).
Valor de retorno:
La funcin wherey retorna un nmero entero entre 1 y el nmero de filas en el modo de texto en uso.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"wherex\" y \"wherey\"\r\n\r\n" ); cprintf( "La posicin del cursor es: (%d,%d)\r\n", wherex(), wherey() ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Funcin window
Define una ventana de texto en pantalla especificado por los argumentos izquierda y superior, que describen la esquina superior izquierda y por los argumentos derecha e inferior, que describen la esquina inferior derecha. El tamao mnimo de la ventana de texto es una columna por una fila. La ventana por defecto es la pantalla completa con la esquina superior izquierda siendo (1,1) y la inferior derecha siendo (C,F); donde C es el nmero de columnas y F el nmero de filas segn el modo de texto en uso. La llamada a la funcin window ser ignorada si alguno de los argumentos no son vlidos.
Valor de retorno:
La funcin window no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { clrscr(); cprintf( "Ejemplo de \"window\"\r\n\r\n" ); cprintf( "La ventana de texto ser de (10,10) (50,20).\r\n" ); windows( 10, 10, 50, 20 ); cprintf( "Ahora estamos dentro de la ventana de texto.\r\n" ); cprintf( "Pulsa una tecla para continuar..." ); getch(); return 0; }
Indice de macros
ABCDEFGHIJKLMNOPQRSTUVWXYZ
-CMacro colores colores Librera conio graphics Fichero de cabecera C conio.h graphics.h
-EMacro enlazar errores Librera graphics graphics Fichero de cabecera C graphics.h graphics.h
-IMacro inp inportb inpw Librera conio conio conio Fichero de cabecera C conio.h conio.h conio.h
-OMacro outp outportb outpw Librera conio conio conio Fichero de cabecera C conio.h conio.h conio.h
Macro colores
Macro colores
Colores de Fondo
Constante Valor Significado BLACK 0 Negro BLUE 1 Azul GREEN 2 Verde CYAN 3 Can RED 4 Rojo MAGENTA 5 Magenta BROWN 6 Marrn LIGHTGRAY 7 Gris Claro DARKGRAY 8 Gris Oscuro LIGHTBLUE 9 Azul Claro LIGHTGREEN 10 Verde Claro LIGHTCYAN 11 Can Claro LIGHTRED 12 Rojo Claro LIGHTMAGENTA 13 Magenta Claro YELLOW 14 Amarillo WHITE 15 Blanco
Macro colores
0 1
CGA_LIGHTGREEN
Verde Claro
CGA_LIGHTRED
Amarillo Blanco
Nota: Color 0 se reserva para el color de fondo y se asigna con lo funcin setbkcolor, pero los dems colores son fijos. Estas constantes se usan con setcolor.
Macro drivers
Dispositivos Grficos
Dispositivo/Constante Valor DETECT 0 CGA 1 MCGA 2 EGA 3 EGA64 4 EGAMONO 5 IBM8514 6 HERCMONO 7 ATT400 8 VGA 9 PC3270 10
Macro enlazar
Para enlazar los ficheros de dispositivos grficos y de fuentes escalables a programas que usan el BGI, se ha de convertir estos ficheros a ficheros objetos (.OBJ). Los ficheros objetos pueden ser enlazados (o ligados) al fichero ejecutable. Este proceso es ventajosa ya que permite que el programa acceda a los dispositivos grficos y/o fuentes escalables directamente, sin tener que cargarlos desde el disco mientras el programa se est ejecutando. La desventaja de este proceso es el tamao del fichero ejecutable que lgicamente incrementar debido a que incorpora los ficheros enlazados. Esta conversin se hace mediante el programa BGIOBJ.EXE. La sntaxis simplificada de este programa es la siguiente: BGIOBJ <nombre>
donde <nombre> es el nombre del fichero: fuente escalable o dispositivo grfico. El programa producir otro fichero del mismo nombre con la extensin .OBJ. Por ejemplo: BGIOBJ EGAVGA.BGI Esto convertir el fichero EGAVGA.BGI a EGAVGA.OBJ. Ahora hay que enlazar (o ligar) este ficehro objeto con la librera grfica. El modo de hacer esto es usando el programa TLIB.EXE. La sntaxis simplificada es la siguiente: TLIB <nombre_librera> +<nombre_objeto1> [+<nombre_objeto2>...]
donde <nombre_librera> es la librera al cual queremos aadir los ficheros objetos cuyos nombres son <nombre_objeto1>, <nombre_objeto2>, etc.. Como slo se puede aadir ficheros objetos a la librera, por eso no hace falta incluir la extensin .OBJ. Por ejemplo: TLIB GRAPHICS +EGAVGA +GOTH +BOLD +EURO
Macro enlazar
Esto aadir los ficheros objetos EGAVGA.OBJ, GOTH.OBJ, BOLD.OBJ, y EURO.OBJ a la librera GRAPHICS.LIB. Para poder seleccionar estos dispositivos y/o fuentes, se ha de registrarlos para que sean enlazados en el programa. La forma de hacer esto es a travs de las funciones registerbgidriver y registerbgifont.en el programa - antes de llamar a initgraph. Esto informa al sistema grfico de que tales ficheros estn presentes y asegura que estn enlazados cuando el enlazador (o linker) cree el fichero ejecutable. Las rutinas de registro aceptan cada uno un parmetro; un nombre simblico definido en graphics.h. Cada rutina de registro retorna un valor no negativo si el dispositivo o fuente se registra con xito. He aqu la lista de los dispositivos y fuentes que se usan con la funciones registerbgidriver y registerbgifont:
Macro errores
Cdigos de Errores
Constante grOk grNoInitGraph grNotDetected grFileNotFound grInvalidDriver grNoLoadMem grNoScanMem grNoFloodMem Cdigo Significado 0 Ningn error -1 Grficos no iniciados -2 Ningn adaptador grfico detectado -3 Fichero de dispositivo no encontrado -4 Fichero de dispositivo no vlido -5 No hay memoria para cargar dispositivo -6 No hay memoria para rellenar No hay memoria para usar floodfill -7 Fichero de fuente no encontrado No hay memoria para cargar la fuente Modo grfico no vlido Error grfico Error grfico de Entrada/Salida Fichero de fuente no vlido Nmero de fuente no vlido Nmero de dispositivo no vlido Nmero de versin no vlido
grFontNotFound -8 grNoFontMem -9 grInvalidMode -10 grError -11 grIOerror -12 grInvalidFont -13 grInvalidFontNum -14 grInvalidDeviceNum -15 grInvalidVersion -18
Macro fuentes
Macro inp
Lee 1 byte desde el puerto indicado por el argumento id_puerto. Si la macro inp es llamada cuando conio.h haya sido incluida, ser tratada como una macro que expande el cdigo "en lnea" (inline). Si no se incluye conio.h, o si se incluye conio.h pero desactivas la definicin de la macro inp, entonces se instituye la funcin inp.
Valor de retorno:
La macro inp retorna el valor ledo desde el puerto apuntado por el argumento id_puerto.
Ejemplo:
#include <conio.h> int main() { int valor; unsigned id_puerto=0;
/* Puerto de serie 0 */
valor = inp( id_puerto ); clrscr(); cprintf( "Ejemplo de \"inp\"\r\n\r\n" ); cprintf( "Leemos 1 byte desde el puerto %d: %d.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Macro inportb
Lee 1 byte desde el puerto indicado por el argumento id_puerto. Si la macro inportb es llamada cuando conio.h haya sido incluida, ser tratada como una macro que expande el cdigo "en lnea" (inline). Si no se incluye conio.h, o si se incluye conio.h pero desactivas la definicin de la macro inportb, entonces se instituye la funcin inportb.
Valor de retorno:
La macro inportb retorna el valor ledo desde el puerto apuntado por el argumento id_puerto.
Ejemplo:
#include <conio.h> int main() { unsigned valor; int id_puerto=0;
/* Puerto de serie 0 */
valor = inportb( id_puerto ); clrscr(); cprintf( "Ejemplo de \"inportb\"\r\n\r\n" ); cprintf( "Leemos 1 byte desde el puerto %d: 0x%X.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Macro inpw
Lee 1 byte de la parte baja de 1 palabra (word) de 16 bits desde el puerto de entrada indicado por el argumento id_puerto; lee el byte alto desde id_puerto+1. Si la macro inpw es llamada cuando conio.h haya sido incluida, ser tratada como una macro que expande el cdigo "en lnea" (inline). Si no se incluye conio.h, o si se incluye conio.h pero desactivas la definicin de la macro inpw, entonces se instituye la funcin inpw.
Valor de retorno:
La macro inpw retorna el valor ledo de una palabra (word) de tamao desde el puerto apuntado por el argumento id_puerto e id_puerto+1.
Ejemplo:
#include <conio.h> int main() { int valor; unsigned id_puerto=0;
/* Puerto de serie 0 */
valor = inpw( id_puerto ); clrscr(); cprintf( "Ejemplo de \"inpw\"\r\n\r\n" ); cprintf( "Leemos 1 word desde el puerto %d: 0x%X.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Macro linea
Estilos de Lneas
Constante Valor Significado SOLID_LINE 0 Lnea continua DOTTED_LINE 1 Lnea hecha con puntos CENTER_LINE 2 Lnea centrada DASHED_LINE 3 Lnea discontinua USERBIT_LINE 4 Lnea definida por el usuario
Modos de Escritura
Constantes Valor Significado COPY_PUT 0 Pxels de la lnea sobrescriben los pxels existentes XOR_PUT 1 Pxels de la pantalla son el resultado de la operacin OR de los pxels existentes y los de la lnea
Macro modos
Los anteriores modos de texto son compatibles con el entorno de MS-DOS, independientemente del modo grfico. Los siguientes modos de texto pueden o no ser vlidas, segn el sistema grfico.
Macro modos
BW40X28 BW40X43 BW40X50 BW40X60 BW80X14 BW80X21 BW80X28 BW80X43 BW80X50 BW80X60 MONO14 MONO21 MONO28 MONO43 MONO50 MONO60 _ORIGMODE
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 65
Blanco y negro, con 40 columnas y 28 lneas Blanco y negro, con 40 columnas y 43 lneas Blanco y negro, con 40 columnas y 50 lneas Blanco y negro, con 40 columnas y 60 lneas Blanco y negro, con 80 columnas y 14 lneas Blanco y negro, con 80 columnas y 21 lneas Blanco y negro, con 80 columnas y 28 lneas Blanco y negro, con 80 columnas y 43 lneas Blanco y negro, con 80 columnas y 50 lneas Blanco y negro, con 80 columnas y 60 lneas Monocromo, con 14 lneas Monocromo, con 21 lneas Monocromo, con 28 lneas Monocromo, con 43 lneas Monocromo, con 50 lneas Monocromo, con 60 lneas Modo Original al comienzo del programa
Nota: Los modos nuevos monocromos no son vlidos para el modo grfico VGA.
Macro modos
Modos Grficos
Dispositivo Modo/Constante Cdigo Resolucin Paleta Pginas CGA CGAC0 0 320x200 4 colores 1 CGAC1 1 320x200 4 colores 1 CGAC2 2 320x200 4 colores 1 CGAC3 3 320x200 4 colores 1 CGAHI 4 640x200 2 colores 1 MCGA MCGAC0 0 320x200 4 colores 1 MCGAC1 1 320x200 4 colores 1 MCGAC2 2 320x200 4 colores 1 MCGAC3 3 320x200 4 colores 1 MCGAMED 4 640x200 2 colores 1 MCGAHI 5 640x480 2 colores 1 EGA EGALO 0 640x200 16 colores 4 EGAHI 1 640x350 16 colores 2 EGA64 EGA64LO 0 640x200 16 colores 1 EGA64HI 1 640x350 4 colores 1 EGAMONO EGAMONOHI 3 640x200 2 colores 1* / 2** VGA VGALO 0 640x200 16 colores 2 VGAMED 1 640x350 16 colores 2 VGAHI 2 640x480 16 colores 1 ATT400 ATT400C0 0 320x200 4 colores 1 ATT400C1 1 320x200 4 colores 1 ATT400C2 2 320x200 4 colores 1 ATT400C3 3 320x200 4 colores 1 ATT400MED 4 640x200 2 colores 1 ATT400HI 5 640x400 2 colores 1 HERC HERCMONOHI 0 720x348 2 colores 2 PC3270 PC3270HI 0 720x350 2 colores 1 IBM8514 IBM8514LO 0 640x480 256 colores IBM8514HI 1 1024x768 256 colores
* Si la tarjeta es de 64K
Macro modos
** Si la tarjeta es de 256K
Macro outp
Escribe el ltimo byte del argumento valor al puerto indicado por el argumento id_puerto. Si la macro outp es llamada cuando conio.h haya sido incluida, ser tratada como una macro que expande el cdigo "en lnea" (inline). Si no se incluye conio.h, o si se incluye conio.h pero desactivas la definicin de la macro outp, entonces se instituye la funcin outp.
Valor de retorno:
La macro outp retorna el valor escrito al puerto apuntado por el argumento id_puerto.
Ejemplo:
#include <conio.h> int main() { int valor=0xFF; unsigned id_puerto=0;
/* Puerto de serie 0 */
outp( id_puerto, valor ); clrscr(); cprintf( "Ejemplo de \"outp\"\r\n\r\n" ); cprintf( "Escribimos 1 byte al puerto %d: %d.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Macro outportb
Escribe 1 byte al puerto de salida indicado por el argumento id_puerto. Si la macro outportb es llamada cuando conio.h haya sido incluida, ser tratada como una macro que expande el cdigo "en lnea" (inline). Si no se incluye conio.h, o si se incluye conio.h pero desactivas la definicin de la macro outportb, entonces se instituye la funcin outportb.
Valor de retorno:
La funcin outportb no retorna ningn valor.
Ejemplo:
#include <conio.h> int main() { int valor=0xFA, id_puerto=0;
/* Puerto de serie 0 */
outportb( id_puerto, valor ); clrscr(); cprintf( "Ejemplo de \"outport\"\r\n\r\n" ); cprintf( "Escribimos 1 word (2 bytes) al puerto %d: 0x%X.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Macro outpw
Escribe el ltimo byte de 1 palabra (word) de 16 bits al puerto de entrada indicado por el argumento id_puerto; escribe el primer byte desde id_puerto+1, usando una sola instruccin de 16 bits OUT. Si la macro outpw es llamada cuando conio.h haya sido incluida, ser tratada como una macro que expande el cdigo "en lnea" (inline). Si no se incluye conio.h, o si se incluye conio.h pero desactivas la definicin de la macro outpw, entonces se instituye la funcin outpw.
Valor de retorno:
La macro outpw retorna el valor escrito de una palabra (word) de tamao al puerto apuntado por el argumento id_puerto e id_puerto+1.
Ejemplo:
#include <conio.h> int main() { int valor=0xFFAA; unsigned id_puerto=0;
/* Puerto de serie 0 */
outpw( id_puerto, valor ); clrscr(); cprintf( "Ejemplo de \"outpw\"\r\n\r\n" ); cprintf( "Escribimos 1 word al puerto %d: 0x%X.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Macro put_op
Macro trama
Tramas predefinidas
Constante Valor Significado EMPTY_FILL 0 Rellena con el color de fondo SOLID_FILL 1 Rellena enteramente LINE_FILL 2 Rellena con lneas horizontales: --LTSLASH_FILL 3 Rellena con rayas finas: /// SLASH_FILL 4 Rellena con rayas gruesas: /// BKSLASH_FILL 5 Rellena con rayas inversas y finas: \\\ LTBKSLASH_FILL 6 Rellena con rayas inversas y gruesas: \\\ HATCH_FILL 7 Rellena con lneas cruzadas cuadriculadamente: +++ XHATCH_FILL 8 Rellena con lneas cruzadas diagonalmente: XXXX INTERLEAVE_FILL 9 Rellena con lneas entrelazadas WIDE_DOT_FILL 10 Rellena con lunares bastante distanciados CLOSE_DOT_FILL 11 Rellena con lunares poco distanciados USER_FILL 12 Rellena con la trama definida por el usuario Nota: Todos los tipos de tramas menos EMPTY_FILL usan el color de relleno seleccionado; EMPTY_FILL usa el color de fondo para rellenar.
-TEstructura textsettingstype text_info Librera graphics conio Fichero de cabecera C graphics.h conio.h
Tipo arccoordstype
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 parmetro en la funcin 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 funcin arc.
Ejemplo:
#include <graphics.h> #include <conio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; int radio; struct arccoordstype info_arco; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); 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(); return 0; }
Tipo fillsettingstype
Esta estructura se usa para obtener la informacin 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> int main() { int gdriver = EGA; int gmodo = EGAHI; struct fillsettingstype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getfillsettings( &info ); bar( 50, 50, 350, 300 ); getch(); /* Pausa */ closegraph(); printf( "Trama de relleno: %d\tColor de relleno: %d\n", info.pattern, info.color ); return 0; }
Tipo linesettingstype
Esta estructura se usa para obtener la informacin actual para las lneas mediante la funcin getlinesettings. El campo linestyle es el estilo de la lnea recta. El campo upattern es la trama de la lnea 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 lnea definido por el usuario de 16 bits. Un bit 1 en esta trama indica que el pxel correspondiente ser asignado el color actual. Un bit 0 indica que el pxel correspondiente no ser alterado. El campo thickness es el grosor de la lnea. Existen varios valores para los diferentes estilos y grosores de lneas rectas.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct linesettingstype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); setlinestyle( DOTTED_LINE, 0xFF33, THICK_WIDTH ); circle( 350, 250, 50 ); getlinesettings( &info ); getch(); /* Pausa */ closegraph(); printf( "Lneas rectas.\nEstilo: %d\tTrama: %X\tGrosor: %d\n", info.linestyle, info.upattern, info.thickness ); return 0;
http://localhost/conclase/c/Borland/pdf/estpdf.php?tip=linesettingstype (1 de 2) [04/12/2003 18:24:14]
Tipo linesettingstype
Tipo 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 segn cada dispositivo. El campo size indica el tamao de la paleta. El campo colors contiene los valores numricos que representan los colores que ofrece el dispositivo en su paleta de colores.
Ejemplo:
#include <graphics.h> #include <conio.h> #include <stdio.h&t; int main() { int gdriver = EGA; int gmodo = EGAHI; struct palettetype *palette = NULL; int i; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); palette = getpalettetype(); circle( 300, 150, 50 ); getch(); /* Pausa */ closegraph(); printf( "Paleta\n\nTamao: %d\nColores: %d", palette->size, palette->colors[0] ); for( i=1; i<palette->size; i++ ) printf( ", %d", palette->colors[i] ); printf( "\n" ); return 0; }
Tipo textsettingstype
Esta estructura se usa para obtener informacin acerca de la fuente grfica actual mediante la funcin getextsettings. Esta estructura contiene informacin de la fuente actual en uso, la orientacin del texto, el tamao del carcter, y la justificacin horizontal y vertical. Existen varios valores para describir el tipo, la orientacin, y justificacin de fuentes.
Ejemplo:
#include <graphics.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct textsettingstype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); gettextsettings( &info ); closegraph(); printf( "Texto\n\nFuente: %d\tSentido: %d\tTamao: %d\n" "Justificacin:\nHorizontal: %d, Vertical: %d\n", info.font, info.direction, info.charsize, info.horiz, info.vert); return 0; }
Tipo text_info
struct text_info unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char };
{ winleft; wintop; winright; winbottom; attribute; normattr; currmode; screenheight; screenwidth; curx; cury;
/* /* /* /* /* /* /* /* /* /* /*
Coordenada izquierda de la ventana */ Coordenada superior de la ventana */ Coordenada derecha de la ventana */ Coordenada inferior de la ventana */ Atributo de texto */ Atributo normal*/ Modo en Uso: BW40, BW80, C40, C80, C4350 */ Altura de la pantalla de texto */ Anchura de la pantalla de texto */ Coordenada X de la ventana en uso */ Coordenada Y de la ventana en uso */
Esta estructuras se usa como parmetro en la funcin gettextinfo para obtener la informacin sobre la ventana de texto actual.
Ejemplo:
#include <conio.h> int main() { struct text_info *ti; gettextinfo( ti ); clrscr(); cprintf( "Ejemplo de \"gettextinfo\"\r\n\r\n" ); cprintf( "Dimensiones de la ventana: " ); cprintf( "(%d,%d) (%d,%d)\r\n", ti->winleft, ti->wintop, ti->winright, ti->winbottom ); cprintf( "Atributo: %d Normal: %d\r\n", ti->attribute, ti->normattr ); cprintf( "Modo en uso: %d\r\n", ti->currmode ); cprintf( "Dimensiones de la pantalla: %d x %d\r\n", ti->screenwidth, ti->screenheight ); cprintf( "Coordenadas de la ventana: (%d,%d)\r\n", ti->curx, ti->cury ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch(); return 0; }
Tipo viewporttype
Esta estructura se usa para obtener informacin acerca del rea grfica actual mediante la funcin getviewsettings. Esta estructura contiene informacin acerca de las esquinas superior izquierda e inferior derecha, tambin como el bandern de recorte del rea grfica.
Ejemplo:
#include <graphics.h> #include <stdio.h> int main() { int gdriver = EGA; int gmodo = EGAHI; struct viewporttype info; /* Si has registrado los dispositivos para que formen parte de graphics.lib ** entonces usa estas sentencias: registerbgidriver( EGAVGA_driver ); initgraph( &gdriver, &gmodo, "" ); */ /* Si no, entonces has de "decir" dnde se encuentra el dispositivo grfico */ initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" ); getviewsettings( &info ); closegraph(); printf( "Pantalla\n\nIzquierda: %d\tSuperior: %d\tDerecha: %d\t" "Inferior: %d\tBandern: %d\n", info.left, info.top, info.right, info.bottom, info.clip ); return 0; }