Partilhar via


Mistura alfa (Windows GDI)

de mistura alfa é usado para exibir um bitmap alfa, que é um bitmap que tem pixels transparentes ou semitransparentes. 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 seu 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 (o bitmap inteiro é transparente) a 255 (o bitmap inteiro é opaco).

Os mecanismos de mistura alfa são invocados chamando AlphaBlend, que faz referência à estrutura BLENDFUNCTION.

Os valores alfa por pixel são suportados apenas para BI_RGB de 32 bpp. Esta fórmula define-se 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

Alfa

Vermelho

Verde

Azul

Os bitmaps também podem ser exibidos com um fator de transparência aplicado ao bitmap inteiro. Qualquer formato de bitmap pode ser exibido com um valor alfa 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 (bitmap inteiro é completamente opaco). O valor alfa constante global é combinado com o valor alfa por pixel.

Para obter um exemplo, consulte Alpha Blending a Bitmap.