Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Sacrifai en 23 de Enero de 2005, 10:25:45 PM

Título: Color Transparente En Allegro
Publicado por: Sacrifai en 23 de Enero de 2005, 10:25:45 PM
 ¿Pues eso, como se define el color transparente en allegro? Porque no lo encuentro por ningun lado  :rolleyes:  . Gracias.
Título: Color Transparente En Allegro
Publicado por: Warchief en 23 de Enero de 2005, 10:48:49 PM
 Del manual:

#define MASK_COLOR_8 0
#define MASK_COLOR_15 (5.5.5 pink)
#define MASK_COLOR_16 (5.6.5 pink)
#define MASK_COLOR_24 (8.8.8 pink)
#define MASK_COLOR_32 (8.8.8 pink)
Constantes que representan los colores usados para enmascarar los pixels transparentes de los sprites para cada profundidad de color. En resoluciones de 256 colores es cero, y en modos truecolor es rosa fucsia (rojo y azul al máximo, verde a cero).


En spanish:
http://es.tldp.org/Allegro-es/web/online/allegro.html

Si lo que quieres es pintar algo en transparente puedes usar:

int color = makecol(255,0,255);
clear_to_color(mibitmap, color); // o cualquier primitiva de dibujo

Si lo que quieres es un bmp con transparencia entonces con rojo a 255 y azul a 255 (verde 0) (para los bitmaps de 24 bits).

Y si lo que quieres no es transparencia sino translucidez (distintos niveles de transparencia) entonces recomiendo que pases a png con libpng + loadpng + zlib.
Título: Color Transparente En Allegro
Publicado por: Sacrifai en 23 de Enero de 2005, 10:59:38 PM
 Por alguna extraña razon no me funciona ni con negro ni con fucsia : ( . ¿No hay que ponerlo en un modo especial o usar un blit especial?
Título: Color Transparente En Allegro
Publicado por: StraT en 23 de Enero de 2005, 11:40:45 PM
 draw_sprite();

Saludos
Título: Color Transparente En Allegro
Publicado por: Warchief en 24 de Enero de 2005, 01:27:23 AM
 Sí, draw_sprite o masked_blit. El modo puedes poner alpha si quieres, aunque por defecto es trans que funciona. El alpha es para rgba de 32 bits (translúcidos).
set_trans_blender
set_alpha_blender
Título: Color Transparente En Allegro
Publicado por: Sacrifai en 24 de Enero de 2005, 02:57:35 PM
 ¡Funciona! Lo he puesto ha 32 bits ( set_color_depth(32) ) por que si no lo declaras no se que profundidad trae y así no habia forma. Muchas gracias : ) .