Udostępnij za pośrednictwem


Łączenie alfa (GDI systemu Windows)

alfa blending służy do wyświetlania mapy bitowej alfa, która jest mapą bitową z przezroczystymi lub półprzezroczystymi pikselami. Oprócz czerwonego, zielonego i niebieskiego kanału kolorów każdy piksel w mapie bitowej alfa ma składnik przezroczystości znany jako kanał alfa. Kanał alfa zazwyczaj zawiera tyle bitów, jak kanał kolorów. Na przykład 8-bitowy kanał alfa może reprezentować 256 poziomów przezroczystości, od 0 (cała mapa bitowa jest przezroczysta) do 255 (cała mapa bitowa jest nieprzezroczysta).

Mechanizmy łączenia alfa są wywoływane przez wywołanie AlphaBlend, które odwołuje się do struktury BLENDFUNCTION.

Wartości alfa dla każdego piksela są obsługiwane jedynie w przypadku formatu BI_RGB 32-bpp. Ta formuła jest zdefiniowana jako:

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

Jest to reprezentowane w pamięci, jak pokazano w poniższej tabeli.

31:24

23:16

15:08

07:00

Alfa

Czerwony

Zielony

Niebieski

Mapy bitowe mogą być również wyświetlane ze współczynnikiem przezroczystości zastosowanym do całej mapy bitowej. Dowolny format mapy bitowej może być wyświetlany z globalną stałą wartością alfa, ustawiając SourceConstantAlpha w strukturze BLENDFUNCTION. Globalna stała wartość alfa ma 256 poziomów przezroczystości, od 0 (cała mapa bitowa jest całkowicie przezroczysta) do 255 (cała mapa bitowa jest całkowicie nieprzezroczysta). Globalna stała wartość alfa jest połączona z wartością alfa na piksel.

Aby zapoznać się z przykładem, zobacz Alpha Blending a Bitmap.