void draw_in_bitmap( BITMAP * bmp, int tipo_grafico, color, modo, region, x0, y0, x1, y1 )
Descripción:
Se trata de una función genérica capaz de representar varias primitivas gráficas en pantalla (como líneas, cajas y círculos). Se deben indicar los siguientes parámetros:
bmp - (BITMAP *) de ALLEGRO en el que se va ha dibujar la primitiva gráfica.
tipo_grafico - Tipo de primitiva, dentro de los siguientes:
d_line // Línea recta d_rectangle // Rectángulo d_fill_rectangle // Rectángulo d_ellipse // Elipse d_fill_ellipse // Elipse rellena
color - Color de tinta para la primitiva (de 0 a 255, como un color de la paleta).
modo - Modo de dibujado: 0 opaco y 1 transparente.
región - Número de región (ventana dentro de la pantalla) en la que se debe pintar la primitiva; normalmente este valor será 0 para poder imprimir la primitiva en cualquier posición de la pantalla. Para definir una región se debe utilizar la función define_region().
x0, y0 - Punto inicial de la recta, o la esquina superior izquierda de la caja que contiene al rectángulo o elipse.
x1, y1 - Punto final de la recta, o la esquina inferior derecha de la caja que contiene al rectángulo o elipse.
int contador, tipo, color, opacidad, x, y, x2, y2; MAIN_PROGRAM_CDIV BEGIN_PROGRAM //Definimos el modo grafico set_gfx(GFX_AUTODETECT_WINDOWED); //Definimos la resolución set_mode(m320x200); write(0,0,0,0,"Pulse ESC para terminar ..."); do{ for( contador = 0; contador < 10; contador++){ tipo = rand(1,5); color = rand(0,255); opacidad = rand(0,1); x = rand(0,319); y = rand(0,199); x2 = rand(0,319); y2 = rand(0,199); // Pinta una primitiva gráfica draw_in_bitmap(screen, tipo, color, opacidad, 0, x, y, x2, y2); } FRAME; }LOOP; END_PROGRAM
Este programa ejemplo representa en pantalla 10 primitivas gráficas cuyas características son seleccionadas al azar mediante la función rand(), y tras dar una imagen con FRAME.
El proceso se repite hasta que se detecta la tecla ESC.
Ver: draw() - move_draw() - delete_draw() - draw_z