Varios
Introducción a la programación en modo gráfico usando BorlandC++ / TurboC++
Las siguientes son una serie de pautas básicas para el desarrollo de programas en modo gráfico, usando BorlandC++ o TurboC++ para MS-DOS. Puede haber alguna diferencia menor según la versión de que se trate. 1) Incluir 2) En las opciones del linker (Menu: Options Linker), debe estar habilitadala librería gráfica.
3) Iniciar el modo gráfico (mediante la función initgraph()) Los pasos que se indican a continuación inicializan el modo gráfico con una resolución que dependerá del tipo de controlador de video que tenga instalada la computadora. Para VGA o SVGA, los valores que se obtienen son: pixels en X: 640 pixels en Y: 480 cantidad de colores: 16/*****************************************/ #include int main(void) { int gdriver = DETECT, gmode, errorcode; /* Intenta abrir el modo gráfico */ initgraph(&gdriver, &gmode, "c:\borlandc\bgi"); /* Verifica si hubo algún error */ errorcode = graphresult(); /* Si hubo algún error y no se pudo abrir el modo gráfico, finaliza el programa */ if (errorcode != grOk) { printf("Error: no se pudo iniciar el modo gráfico (%s)\n",grapherrormsg(errorcode)); exit(1); } /* Imprime un texto en modo gráfico, a modo de ejemplo */ outtextxy(0,0,”HOLA, ESTAMOS EN MODO GRAFICO”); /* cierra el modo gráfico retorna a modo texto */
closegraph(); } /****************************************/
Gráficos en C
1
UTN-FRBB Informática II Algunos detalles: La función initgraph() tiene tres parámetros: El primero es un puntero a un entero (en elejemplo se llama gdriver), cuyo contenido es un código que indica el driver que se desea cargar. Al haber cargado gdriver con el valor DETECT, se deja que initgraph() determine el driver mas conveniente. En el caso de VGA, el archivo del driver correspondiente es: EGAVGA.BGI. El segundo es otro puntero a entero (en el ejemplo se llama gmode), en el cual se puede seleccionar algún modo enparticular. Al haber optado por autodetectar el driver, el modo también es definido por initgraph(). El tercer parámetro es una cadena que indica el camino (path) para que initgraph() pueda encontrar el driver. En caso de que el driver esté ubicado en el mismo directorio desde donde se ejecuta el programa, se puede colocar en este parámetro una cadena vacía (“”).
-
-
Sintaxis y detalles de algunasfunciones. int getmaxx(void); Retorna el valor máximo en el sentido de las X. Por ejemplo: para VGA getmaxx() retorna 639. int getmaxy(void); Retorna el valor máximo en el sentido de las Y. Por ejemplo: para VGA getmaxx() retorna 479. int getmaxcolor(void); Retorna el número de color máximo que se puede utilizar. Por ejemplo: para VGA getmaxcolor() retorna 15 (⇒ los colores son 16, van del 0 al15). void setcolor(int color); Permite establecer el color con que posteriormente graficarán distintas funciones (line(), circle(), etc.). Por ejemplo: setcolor(EGA_GREEN); ⇒ establece el color VERDE void setbkcolor(int color); Permite establecer el color de fondo. Por ejemplo: setbkcolor(EGA_BLUE) pone el fondo de color azul. void putpixel(int x, int y, int col); Pinta el pixel correspondiente alas coordenadas (x,y), con el color indicado por . Ejemplo: putpixel( 10, 20, EGA_YELLOW );
Gráficos en C
2
UTN-FRBB Informática II void line(int x1, int y1, int x2, int y2); Traza una línea del color previamente establecido mediante setcolor(), desde las coordenadas (x1,y1), hasta las coordenadas (x2,y2). Ejemplo: line(10, 10, 50, 100);
void circle( int x, int y, int r ); Dibuja unacírculo, con centro en (x,y) y radio r. Ejemplo: circle( 100, 80, 50 );
void lineto( int x, int y ); Traza una línea del color previamente establecido mediante setcolor(), desde la posición actual (donde finalizó el dibujo anterior), hasta las coordenadas (x,y). Ejemplo: lineto(50, 100);
void moveto( int x, int y ); Mueve el cursor (sin dibujar nada) hasta la coordenada (x,y). Ejemplo:...
Regístrate para leer el documento completo.