AlphaBlend 関数 (wingdi.h)
AlphaBlend 関数は、透明または半透明のピクセルを持つビットマップを表示します。
構文
BOOL AlphaBlend(
[in] HDC hdcDest,
[in] int xoriginDest,
[in] int yoriginDest,
[in] int wDest,
[in] int hDest,
[in] HDC hdcSrc,
[in] int xoriginSrc,
[in] int yoriginSrc,
[in] int wSrc,
[in] int hSrc,
[in] BLENDFUNCTION ftn
);
パラメーター
[in] hdcDest
ターゲット デバイス コンテキストのハンドル。
[in] xoriginDest
コピー先の四角形の左上隅の x 座標を論理単位で指定します。
[in] yoriginDest
変換先の四角形の左上隅の y 座標 (論理単位)。
[in] wDest
ターゲットの四角形の幅 (論理単位)。
[in] hDest
ターゲットの四角形の高さ (論理単位)。
[in] hdcSrc
ソース デバイス コンテキストへのハンドル。
[in] xoriginSrc
ソース四角形の左上隅の x 座標 (論理単位)。
[in] yoriginSrc
ソース四角形の左上隅の y 座標 (論理単位)。
[in] wSrc
ソースの四角形の幅 (論理単位)。
[in] hSrc
ソースの四角形の高さ (論理単位)。
[in] ftn
ソースとターゲットのビットマップのアルファ ブレンド関数、ソース ビットマップ全体に適用されるグローバル アルファ値、およびソース ビットマップの形式情報。 ソースとターゲットのブレンド関数は、現在、AC_SRC_OVERに制限されています。 BLENDFUNCTION および EMRALPHABLEND 構造体を参照してください。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。
解説
ソース四角形とコピー先の四角形のサイズが同じでない場合は、コピー元のビットマップが展開先の四角形と一致するように引き伸ばされます。 SetStretchBltMode 関数を使用すると、この関数の iStretchMode 値は自動的に COLORONCOLOR に変換されます (つまり、BLACKONWHITE、WHITEONBLACK、HALFTONE は COLORONCOLOR に変更されます)。
変換先の座標は、ターゲット デバイス コンテキストに現在指定されている変換を使用して変換されます。 ソース座標は、ソース デバイス コンテキストに現在指定されている変換を使用して変換されます。
ソース デバイス コンテキストが拡張メタファイル デバイス コンテキストを識別すると、エラーが発生します (また、関数は FALSE を返します)。
コピー先ビットマップとソース ビットマップの色形式が同じでない場合、 AlphaBlend はソース ビットマップを変換先ビットマップと一致するように変換します。
AlphaBlend はミラーリングをサポートしていません。 ソースまたは宛先の幅または高さが負の場合、この呼び出しは失敗します。
プリンターにレンダリングするときは、まず GETDeviceCaps と SHADEBLENDCAPS を呼び出して、プリンターが AlphaBlend とのブレンドをサポートしているかどうかを判断します。 ディスプレイ DC では、すべてのブレンド操作がサポートされ、これらのフラグは操作が高速化されるかどうかを表します。
ソースとコピー先が同じサーフェスである場合、つまり、画面または同じメモリ ビットマップの両方であり、ソース四角形とコピー先の四角形が重なっている場合は、エラーが発生し、関数は FALSE を返します。
ソースの四角形は、ソースサーフェイス内に完全に配置する必要があります。それ以外の場合はエラーが発生し、関数は FALSE を返します。
ソースまたはコピー先の幅または高さが負の場合、AlphaBlend は失敗します。
BLENDFUNCTIONの SourceConstantAlpha メンバーは、ソース ビットマップ全体で使用されるアルファ透明度の値を指定します。 SourceConstantAlpha 値は、ピクセル単位のアルファ値と組み合わされます。 SourceConstantAlpha が 0 の場合、イメージは透明であると見なされます。 ピクセル単位のアルファ値のみを使用する場合は、 SourceConstantAlpha 値を 255 (イメージが不透明であることを示します) に設定します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Msimg32.lib |
[DLL] | Msimg32.dll |