EDIT: ERLEDIGT (war: Problem mit / Fragen zu SDL_CreateRGBSurface())



  • Hallo.

    Wie kann ich mit SDL_CreateRGBSurface() ein Surface mit transparentem Hintergrund machen?

    Weil: Ich möchte dieses Surface (mit transparentem Hintergrund) auf ein anderes Surface blitten (per SDL_BlitSurface), und dabei soll auf dem neuen surface nur das angezeigt werden, was auf dem ersten surface NICHT transparent war.

    Okay, die erklärung klingt etwas beschissen, aber tut mir leid, anders kann ich es nicht erklären.

    ps: Ja ich mache es mit absicht so und nicht anders.

    Muss ich Rmask, Gmask, Bmask und Amask dazu irgendwie setzen? Weil da hab ich schon einige Kombis ausprobiert.
    Die Ergebnisse waren: Im Endeffekt war das Surface komplett transparent, obwohl ich darauf andere geblittet hab.

    Oder: Das Surface war garnet transparent.

    EDIT: Hat sich erledigt. Hab einen anderen Weg genommen.



  • Naje ich versuche grad auch mit SDL_CreateRGBSurface umzugehen, aber irgendwie klappts bei mir auch nicht, vieleicht kannt du mir helfen.
    Ich hab 36 einzelne Bilder, die ich zusammengesetzt nebeneinander auf einem Surface haben möchte. Allerdings klappt das nicht so, wie erhofft, denn nach dem Blitten ist die Surface komplett tranzparent, egal wie ich sie erstellt habe Mit SDL_CreateRGBSurface oder auch IMG_Load("dummy.png"). auch hab ich keine Ahnung wozu die letzten vier Parameter von SDL_CreateRGBSurface gut sind. Sicherlich hat es was mit der Speicherung der Kanäle auf sich, aber warum so viele Integer, und was passier bei anderen werden wie: 0x123456? Ich hab da bisher kaum hilfe zu gefunden.


Log in to reply