3.9 Transparence d'une image

On peut aussi rendre toute une image plus ou moins transparente, avec la fonction suivante :

1
int SDL_SetAlpha(SDL_Surface *surface, Uint32 flags, Uint8 alpha);
  • surface : image à bidouiller
  • flags : transparence SDL_SRCALPHA
  • alpha : puissance de la transparence (255 opaque, 0 on voit rien, cette fonction est optimisée pour un alpha = 128)
  • retourne 0 si tout va bien, -1 sinon

Exemple :

1
2
SDL_Surface* image = SDL_LoadBMP("image.bmp");
SDL_SetAlpha(image, SDL_SRCALPHA, 128);

Et heu, SDL_FreeSurface, hein.