GDI, Transparentes Blitten MIT Alpha?



  • Hi,

    ich habe eine Bitmap (32 Bit) die ich blitten möchte.

    Für Transparentes Blitten hab ich zuerst Transparent Blit genommen, doch auf der MSDN man soll für 32 Bit AlphaBlend nehmen. Habe ich genommen, jedoch wo sage ich, das alle Pixel mit der Farbe Lila nicht mehr gezeichnet werden sollen und der Rest mit nur 128 Alpha geblittet werden?

    Ich versteh nicht wie ich die ganzen Parameter in BLENDFUNCTION stopfen soll 😞



  • Für die komplett transparenten Pixel des Quellbitmaps müßtest du den Alpha-Kanal auf 0 setzen (für die komplett "undurchsichtigen" auf 255).

    Dann ist BLENDFUNCTION ganz einfach:

    BLENDFUNCTION bf = { AC_SRC_OVER, 0, myAlpha, AC_SRC_ALPHA };
    

    myAlpha gibt dabei die Gesamtttransparenz des source-bildes an (wird mit der einzelpixel-Transparenz kombniert)


Anmelden zum Antworten