Alpha Blending (GDI pro Windows)
alfa blending slouží k zobrazení alfa bitmapy, což je rastrový obrázek, který má průhledné nebo poloprůhledné pixely. Kromě červeného, zeleného a modrého barevného kanálu má každý pixel v alfa bitmapě komponentu průhlednosti známou jako její alfa kanál. Alfa kanál obvykle obsahuje tolik bitů jako barevný kanál. Například 8bitový alfa kanál může představovat 256 úrovní průhlednosti, od 0 (celý rastrový obrázek je průhledný) do 255 (celý rastrový obrázek je neprůhledný).
Mechanismy alfa prolnutí jsou vyvolány voláním AlphaBlend, které odkazuje na strukturu BLENDFUNCTION.
Alfa hodnoty na pixel jsou podporovány pouze pro BI_RGB 32-bpp. Tento vzorec je definován takto:
typedef struct {
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
};
Tato hodnota je reprezentována v paměti, jak je znázorněno v následující tabulce.
31:24
23:16
15:08
07:00
Alfa
Červený
Zelený
Modrý
Rastrové obrázky mohou být zobrazeny také s faktorem průhlednosti použitým na celý rastrový obrázek. Libovolný formát rastrového obrázku lze zobrazit s globální konstantní alfa hodnotou nastavením SourceConstantAlpha ve struktuře BLENDFUNCTION. Globální konstantní alfa hodnota má 256 úrovní průhlednosti, od 0 (celá bitmapa je zcela průhledná) až 255 (celá bitmapa je zcela neprůhledná). Globální hodnota konstantní alfy je zkombinována s hodnotou alfy pro každý pixel.
Příklad najdete v části alfa mísení bitmapy.