Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Color Transparente En Allegro

Iniciado por Sacrifai, 23 de Enero de 2005, 10:25:45 PM

« anterior - próximo »

Sacrifai

 ¿Pues eso, como se define el color transparente en allegro? Porque no lo encuentro por ningun lado  :rolleyes:  . Gracias.

Warchief

 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.

Sacrifai

 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?

StraT

quot;Solo hay dos cosas infinitas, el universo y la estupidez humana, aunque de lo primero no estoy muy seguro\\\" Einstein

Warchief

 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

Sacrifai

 ¡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 : ) .






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.