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

関連項目

BLENDFUNCTION

ビットマップ関数

ビットマップの概要

EMRALPHABLEND

GetDeviceCaps

SetStretchBltMode