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 は、ソースまたはコピー先の幅または高さが負の場合、ビットマップをミラーしません。

複数のモニター システムで使用する場合、 hdcSrchdcDest の 両方が同じデバイスを参照する必要があります。または、関数が失敗します。 さまざまなデバイスの DC 間でデータを転送するには、 GetDIBits を呼び出してメモリ ビットマップを DIB に変換します。 2 番目のデバイスに DIB を表示するには、 SetDIBits または StretchDIBits を呼び出します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Msimg32.lib
[DLL] Msimg32.dll

こちらもご覧ください

AlphaBlend

ビットマップ関数

ビットマップの概要

GetDIBits

SetDIBits

SetStretchBltMode

StretchDIBits