Alphablending (Windows GDI)

Alphablending wird verwendet, um eine Alphabitmap anzuzeigen, bei der es sich um eine Bitmap mit transparenten oder halbtransparenten Pixeln handelt. Zusätzlich zu einem roten, grünen und blauen Farbkanal verfügt jedes Pixel in einer Alphabitmap über eine Transparenzkomponente, die als Alphakanal bezeichnet wird. Der Alphakanal enthält in der Regel so viele Bits wie ein Farbkanal. Beispielsweise kann ein 8-Bit-Alphakanal 256 Transparenzebenen darstellen, von 0 (die gesamte Bitmap ist transparent) bis 255 (die gesamte Bitmap ist nicht transparent).

Alphamischungsmechanismen werden aufgerufen, indem AlphaBlendaufgerufen wird, das auf die BLENDFUNCTION-Struktur verweist.

Alphawerte pro Pixel werden nur für BI RGB mit 32 bpp _ unterstützt. Diese Formel wird wie folgt definiert:

typedef struct {
  BYTE   Blue;
  BYTE   Green;
  BYTE   Red;
  BYTE   Alpha;
};

Dies wird im Arbeitsspeicher dargestellt, wie in der folgenden Tabelle gezeigt.

31:24

23:16

15:08

07:00

Alpha

Red

Grün

Blau

Bitmaps können auch mit einem Transparenzfaktor angezeigt werden, der auf die gesamte Bitmap angewendet wird. Jedes Bitmapformat kann mit einem globalen konstanten Alphawert angezeigt werden, indem SourceConstantAlpha in der BLENDFUNCTION-Struktur festgelegt wird. Der alpha-Wert der globalen Konstante weist 256 Transparenzebenen auf, von 0 (die gesamte Bitmap ist vollständig transparent) bis 255 (die gesamte Bitmap ist vollständig deckend). Der globale konstante Alphawert wird mit dem Pro-Pixel-Alphawert kombiniert.

Ein Beispiel finden Sie unter Alpha Blending a Bitmap.