Partilhar via


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.