Mistura alfa (GDI do Windows)
A mesclagem alfa é usada para exibir um bitmap alfa, que é um bitmap que tem pixels transparentes ou semitransparente. Além de um canal de cores vermelho, verde e azul, cada pixel em um bitmap alfa tem um componente de transparência conhecido como canal alfa. O canal alfa normalmente contém tantos bits quanto um canal de cores. Por exemplo, um canal alfa de 8 bits pode representar 256 níveis de transparência, de 0 (todo o bitmap é transparente) a 255 (todo o bitmap é opaco).
Os mecanismos de mesclagem alfa são invocados chamando AlphaBlend, que faz referência à estrutura BLENDFUNCTION .
Os valores alfa por pixel só têm suporte para BI_RGB de 32 bpp. Essa fórmula é definida como:
typedef struct {
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
};
Isso é representado na memória, conforme mostrado na tabela a seguir.
31:24
23:16
15:08
07:00
Alpha
Vermelho
Verde
Azul
Bitmaps também podem ser exibidos com um fator de transparência aplicado a todo o bitmap. Qualquer formato de bitmap pode ser exibido com um valor alfa de constante global definindo SourceConstantAlpha na estrutura BLENDFUNCTION . O valor alfa da constante global tem 256 níveis de transparência, de 0 (bitmap inteiro é completamente transparente) a 255 (o bitmap inteiro é completamente opaco). O valor alfa da constante global é combinado com o valor alfa por pixel.
Para obter um exemplo, consulte Alpha Blending a Bitmap.