Alpha Blending (Windows GDI)
La fusione alfa viene usata per visualizzare una bitmap alfa, ovvero una bitmap con pixel trasparenti o semitrasparti. Oltre a un canale di colore rosso, verde e blu, ogni pixel in una bitmap alfa ha un componente di trasparenza noto come canale alfa. Il canale alfa contiene in genere un numero di bit pari a un canale di colore. Ad esempio, un canale alfa a 8 bit può rappresentare 256 livelli di trasparenza, da 0 (l'intera bitmap è trasparente) a 255 (l'intera bitmap è opaca).
I meccanismi di fusione alfa vengono richiamati chiamando AlphaBlend, che fa riferimento alla struttura BLENDFUNCTION .
I valori alfa per pixel sono supportati solo per BI_RGB da 32 bpp. Questa formula è definita come:
typedef struct {
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
};
Questo valore è rappresentato in memoria, come illustrato nella tabella seguente.
31:24
23:16
15:08
07:00
Alfa
Red
Green
Blu
Le bitmap possono essere visualizzate anche con un fattore di trasparenza applicato all'intera bitmap. È possibile visualizzare qualsiasi formato bitmap con un valore alfa costante globale impostando SourceConstantAlpha nella struttura BLENDFUNCTION . Il valore alfa costante globale ha 256 livelli di trasparenza, da 0 (l'intera bitmap è completamente trasparente) a 255 (l'intera bitmap è completamente opaca). Il valore alfa costante globale viene combinato con il valore alfa per pixel.
Per un esempio, vedere Fusione alfa di una bitmap.