TransparentBlt 関数 (wingdi.h)
TransparentBlt 関数は、指定されたソース デバイス コンテキストからターゲット デバイス コンテキストへのピクセルの四角形に対応するカラー データのビット ブロック転送を実行します。
構文
BOOL TransparentBlt(
[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] UINT crTransparent
);
パラメーター
[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] crTransparent
透明として扱うソース ビットマップの RGB 色。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。
注釈
TransparentBlt 関数は、互換性のあるビットマップ (DDB) で動作します。
TransparentBlt 関数は、ソース ビットマップのすべての形式をサポートしています。 ただし、32 の bpp ビットマップの場合は、アルファ値をコピーするだけです。 AlphaBlend を使用して、透明度を持つ 32 ビット/ピクセルビットマップを指定します。
ソース四角形とコピー先の四角形が同じサイズでない場合は、コピー元のビットマップがコピー先の四角形と一致するように引き伸ばされます。 SetStretchBltMode 関数を使用すると、TRANSPARENTBlt 関数の BLACKONWHITE および WHITEONBLACK の iStretchMode モードが COLORONCOLOR に変換されます。
変換先のデバイス コンテキストは、変換先の座標の変換の種類を指定します。 ソース デバイス コンテキストは、ソース座標の変換の種類を指定します。
TransparentBlt は、ソースまたはコピー先の幅または高さが負の場合、ビットマップをミラーしません。
複数のモニター システムで使用する場合、 hdcSrc と hdcDest の 両方が同じデバイスを参照する必要があります。または、関数が失敗します。 さまざまなデバイスの DC 間でデータを転送するには、 GetDIBits を呼び出してメモリ ビットマップを DIB に変換します。 2 番目のデバイスに DIB を表示するには、 SetDIBits または StretchDIBits を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Msimg32.lib |
[DLL] | Msimg32.dll |