EngTransparentBlt 関数 (winddi.h)

EngTransparentBlt 関数は、透過性を備えたビット ブロック転送機能を提供します。

構文

ENGAPI BOOL EngTransparentBlt(
  [in]           SURFOBJ  *psoDst,
  [in]           SURFOBJ  *psoSrc,
  [in, optional] CLIPOBJ  *pco,
  [in, optional] XLATEOBJ *pxlo,
  [in]           RECTL    *prclDst,
  [in]           RECTL    *prclSrc,
  [in]           ULONG    TransColor,
  [in]           ULONG    bCalledFromBitBlt
);

パラメーター

[in] psoDst

描画するターゲット サーフェスを識別する SURFOBJ 構造体へのポインター。

[in] psoSrc

ビット ブロック転送のソースサーフェスを識別する SURFOBJ 構造体へのポインター。

[in, optional] pco

CLIPOBJ 構造体へのポインター。 クリップ領域を四角形のセットとして列挙するために、CLIPOBJ_Xxx サービス ルーチンが用意されています。 この列挙は、変更先の領域を制限します。 可能な限り、GDI は関連するクリッピングを簡略化します。

[in, optional] pxlo

ターゲット サーフェスに書き込むためのソース カラー インデックスの変換方法を示す XLATEOBJ 構造体へのポインター。

[in] prclDst

変更する四角形領域を定義する RECTL 構造体へのポインター。 この四角形は、変換先サーフェスの座標系で指定され、左上と右下の 2 つのポイントで定義されます。 四角形は右下の排他的です。つまり、その下端と右端はビット ブロック転送の一部ではありません。 四角形を定義する 2 つのポイントは、常に適切に並べられます。

ドライバーは、空の宛先の四角形で EngTransparentBlt を呼び出す必要があります。

[in] prclSrc

コピーする四角形の領域を定義する RECTL 構造体へのポインター。 この四角形は、ソース サーフェスの座標系で指定され、左上と右下の 2 つのポイントで定義されます。 四角形を定義する 2 つのポイントは、常に適切に並べられます。

ソースの四角形がソース サーフェスの境界を超えることはありません。そのため、ソース サーフェスがオーバーハングすることはありません。

この四角形は、 prclDst によって定義された変換先の四角形にマップされます。 ドライバーは、空のソース四角形を使用して EngTransparentBlt を呼び出してはなりません。

[in] TransColor

ソース サーフェスの形式で、物理的な透明色を指定します。 これは、ソース サーフェスのパレットに変換されたカラー インデックス値です。 詳細については、「解説」を参照してください。

[in] bCalledFromBitBlt

予約済み。 このパラメーターは 0 に設定する必要があります。

戻り値

EngTransparentBlt は成功すると TRUE を 返します。 それ以外の場合は、 FALSE を返します

注釈

ドライバーは 、DrvTransparentBlt をフックし、サポートされていない操作を実行するために呼び出される場合は、 EngTransparentBlt を呼び出す必要があります。

透過性を持つビット ブロック転送は、2 つの デバイスで管理されるサーフェス 間、またはデバイス管理サーフェスと GDI で管理される標準形式のビットマップの間でサポートされます。 現在、GDI では、BMF_4BPPとBMF_8BPPソース サーフェスのみがサポートされています。

iTransparentColor で指定された透明色に一致するソースサーフェス上のピクセルはコピーされません。 透過的な blts の詳細については、「ビットマップの コピー」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム ユニバーサル
Header winddi.h (Winddi.h を含む)
Library Win32k.lib
[DLL] Win32k.sys

こちらもご覧ください

DrvBitBlt

DrvPlgBlt

DrvStretchBlt

DrvStretchBltROP

DrvTransparentBlt

EngBitBlt

EngPlgBlt

EngStretchBlt

EngStretchBltROP