アルファ ブレンド は、透明または半透明のピクセルを持つビットマップであるアルファ ビットマップを表示するために使用されます。 赤、緑、青のカラー チャネルに加えて、アルファ ビットマップ内の各ピクセルには、アルファ チャネルと呼ばれる透過性コンポーネントがあります。 アルファ チャネルには通常、カラー チャネルと同じ数のビットが含まれます。 たとえば、8 ビットアルファ チャネルは、0 (ビットマップ全体が透明) から 255 (ビットマップ全体が不透明) までの 256 レベルの透明度を表すことができます。
アルファ ブレンド メカニズムは、BLENDFUNCTION 構造体を参照する AlphaBlend を呼び出すことによって呼び出されます。
ピクセルあたりのアルファ値は、32 bpp BI_RGBでのみサポートされます。 この数式は、次のように定義されます。
typedef struct {
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
};
これは、次の表に示すようにメモリ内で表されます。
31:24
23:16
15:08
07:00
[アルファ]
[赤]
[緑]
青
ビットマップ全体に透過性係数を適用してビットマップを表示することもできます。 BLENDFUNCTION 構造体で SourceConstantAlpha を設定することで、任意のビットマップ形式をグローバル定数アルファ値で表示できます。 グローバル定数アルファ値には、0 (ビットマップ全体が完全に透明) から 255 (ビットマップ全体が完全に不透明) まで、256 レベルの透明度があります。 グローバル定数アルファ値は、ピクセルごとのアルファ値と組み合わされます。
例については、「ビットマップの アルファ ブレンド」を参照してください。