Hacer transparente una imagen con allegro

Iniciado por SantillanOrtega, 22 Marzo 2013, 07:31 AM

0 Miembros y 1 Visitante están viendo este tema.

SantillanOrtega

Hola que tal estoy haciendo un juego en dev c++ utilizando allegro y lo que quiero es poner una imagen la cual es un "persona" pero quiero eliminar el fondo (Fucsia) osea hacerla transparente estoy utilizando blit y mask_blit este es mi código  pero no me sale :
blit(level1,screen,0,0,0,0,600,600);
         masked_blit(mono,screen,0,pm,x,y,32,32);
         blit(level1,screen,0,0,0,0,256,0);

Agradecería si alguien me pudiera ayudar

amchacon

Se me ocurren dos formas:

- Cambiarle el fondo a negro y tirando para adelante  ;-)
- Una mini función (chapuza):

void ImprimirSprite(BITMAP* sprite,int x,int y,int TAMX,int TAMY)
{
   int i,j;
   
    for (j = 0; j < TAMX;j++)
       for (i = 0; i< TAMY;i++)
         if (color del pixel[i][j] != FUCSIA)
            putpixel(screen,x+j,y+i,color del pixel[i][j]);
}


Poniendo en "color del pixel" la función que te devuelva el color de un bitmap en una determinada coordenada (no me acuerdo cual era).
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

ukol

Usas Allegro 5?
Has intentado usar al_convert_mask_to_alpha?