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 |