Mensaje
por xander » Jue Jun 19, 2008 6:17 am
Para compilar un fichero fuente con funciones gráficas
tenemos primero que indicar al compilador que se va
a trabajar con ese tipo de funciones. OPTIONS-> LINKER->
LIBRARIES -> Graphics Library
Funciones para iniciar y cerrar el modo gráfico
initgraph(&var_tarjeta,&var_modo,”dir_...
variable_int=graphresult();
closegraph();
cleardevice();
Funciones para establecer el color de fondo, de dibujo, relleno
setbkcolor(int_color);
floodfill(int_x,int_y,in_color);
setcolor(int_color);
setfillstyle(int_estilo,int_color);
setlinestyle(int tipo,int_separacion,int_ancho);
Funciones para dibujar
circle(int_x,int_y,int_color);
rectangle(int_x1,int_y1,int_x2,int_y2)...
line(x1,y1,x2,y2);
ellipse(x,y,ang_inicio,ang_fin,radio_x...
arc(x,y,ang_inicial,ang_final,radio);
putpixel(int_x,int_y,int_color);
Estas tres funciones permiten copiar y mover objetos.
El modo de trabajo es: copiar una zona de la pantalla
a la memoria (utilizando un puntero), asignar la memoria
necesaria y, mostrar la imagen.
getimage(x1,y1,x2,y2,puntero);
variable=imagesize(x1,y1,x2,y2);
putimage(x,y,puntero,modo);
Este ejemplo mueve un objeto, te faltaria completar el
dibujo, y especificar la columna y fila para que sea en diagonal
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
void main(void)
{
int tarjeta=DETECT,modo=DETECT,fil,col;
long tam;
char *imagen;
initgraph(&tarjeta,&modo,"c:\\tc\\bgi"...
if(graphresult()!=grOk)
{
printf("Error en modo grafico");
exit(0);
}
cleardevice();
circle(100,100,40);
tam=imagesize(50,50,150,150);
imagen=malloc(tam);
getimage(50,50,150,150,imagen);
cleardevice();
while(!kbhit())
{
delay(400);
putimage(col,fil,imagen,XOR_PUT);
delay(400);
putimage(col,fil,imagen,XOR_PUT);
col=random(getmaxx());
fil=random(getmaxy());
}
closegraph();
}