Alpha 混合 (Windows GDI)

Alpha 混合 用于显示 alpha 位图,它是具有透明或半透明像素的位图。 除了红、绿、蓝三色通道外,alpha 位图中的每个像素都有一个称为 alpha 通道的透明度组件。 alpha 通道通常包含与颜色通道一样多的位。 例如,8 位 alpha 通道可以表示 256 个透明度级别,从 0 (整个位图透明) 到 255, (整个位图不透明) 。

通过调用引用 BLENDFUNCTION 结构的 AlphaBlend 来调用 Alpha 混合机制。

每个像素的 Alpha 值仅支持 32 bpp BI_RGB。 此公式定义为:

typedef struct {
  BYTE   Blue;
  BYTE   Green;
  BYTE   Red;
  BYTE   Alpha;
};

这在内存中表示,如下表所示。

31:24

23:16

15:08

07:00

Alpha

Red

绿色

蓝色

还可以使用应用于整个位图的透明度因子显示位图。 通过在 BLENDFUNCTION 结构中设置 SourceConstantAlpha,可以使用全局常量 alpha 值显示任何位图格式。 全局常量 alpha 值具有 256 个透明度级别,从 0 (整个位图完全透明) 到 255 (整个位图完全不透明) 。 全局常量 alpha 值与每像素 alpha 值组合在一起。

有关示例,请参阅 Alpha 混合位图