Hallo,
ich versuche ein neues Surface mit SDL_CreateRGBSurface zu erstellen, welches transparent ist. Bisher hab ich das so gemacht:
Surface Erstellen -> mit FF00FF (Farbe) Füllen -> ColorKey drüber.
Aber: Das problem ist das ich jetzt auf das surface etwas blitten will, was selbst leicht transparent ist. Das problem ist das diese transparenz nun die colorkey farbe annimmt.
Wie erstelle ich das surface mit echter transparenz? ich hatte gefunden das man es mit SDL_FillRect (surface, MapRGBA(0,0,0,0)) machen kann, aber das funktioniert bei mir nicht.
Danke für alle antworten
-Nidhoegger
[SDL] Neues Surface mit Transparent erzeugen
-
- Beiträge: 8
- Registriert: Mo 9. Mär 2009, 14:31
-
- Beiträge: 19
- Registriert: Mo 14. Sep 2009, 15:16
- OS, Lazarus, FPC: Mac OS (Lazarus 0.9.31, FPC 2.5.1)
- CPU-Target: 32Bit & 64Bit
- Wohnort: Königsbrunn
- Kontaktdaten:
Re: [SDL] Neues Surface mit Transparent erzeugen
Du bist schon auf dem richtigen Weg, du musst allerdings nicht SDL_FillRect anwenden.
Mach es einfach so:
So habe ich es jedenfalls bei mir gelöst. Statt SDL_HWSURFACE kannst du natürlich die Flags setzen, die du möchtest/brauchst.
Mach es einfach so:
Code: Alles auswählen
MeinSurface := SDL_CreateRGBSurface(SDL_HWSURFACE, Breite, Hoehe, Bittiefe, 0, 0, 0, 0);
SDL_SetColorKey(MeinSurface, SDL_SRCCOLORKEY, 0);