次の方法で共有


IDirectDrawSurface7::Blt メソッド (ddraw.h)

ビット ブロック転送 (bitblt) を実行します。 このメソッドは、ビットブレット操作中の z バッファリングまたはアルファ ブレンドをサポートしていません。

構文

HRESULT Blt(
  [in] LPRECT               unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2,
  [in] LPRECT               unnamedParam3,
  [in] DWORD                unnamedParam4,
  [in] LPDDBLTFX            unnamedParam5
);

パラメーター

[in] unnamedParam1

変換先のサーフェイスでビット化する四角形の左上と右下のポイントを定義する RECT 構造体へのポインター。 このパラメーターが NULL の場合は、変換先サーフェス全体が使用されます。

[in] unnamedParam2

ビットレットのソースである DirectDrawSurface オブジェクトの IDirectDrawSurface7 インターフェイスへのポインター。

[in] unnamedParam3

ソースサーフェス上からビット化する四角形の左上と右下のポイントを定義する RECT 構造体へのポインター。 このパラメーターが NULL の場合は、ソース サーフェス全体が使用されます。

[in] unnamedParam4

関連付けられた DDBLTFX 構造体の有効なメンバーを決定するフラグの組み合わせ、カラー キー情報の指定、または メソッドに対する特別な動作の要求を行います。 次のフラグが定義されています。

検証フラグ

DDBLT_COLORFILL

DDBLTFX 構造体の dwFillColor メンバーを、変換先サーフェス上の変換先の四角形を塗りつぶす RGB 色として使用します。

DDBLT_DDFX

DDBLTFX 構造体の dwDDFX メンバーを使用して、このビットに使用する効果を指定します。

DDBLT_DDROPS

DDBLTFX 構造体の dwDDROP メンバーを使用して、Win32 API の一部ではないラスター操作 (ROPS) を指定します。

DDBLT_DEPTHFILL

DDBLTFX 構造体の dwFillDepth メンバーを、コピー先の z バッファーサーフェス上の移動先の四角形を塗りつぶす深度値として使用します。

DDBLT_KEYDESTOVERRIDE

DDBLTFX 構造体の ddckDestColorkey メンバーを、変換先サーフェスのカラー キーとして使用します。

DDBLT_KEYSRCOVERRIDE

ソース サーフェスのカラー キーとして DDBLTFX 構造体の ddckSrcColorkey メンバーを使用します。

DDBLT_ROP

このビットレットの ROP に DDBLTFX 構造体の dwROP メンバーを使用します。 これらの ROM は、Win32 API で定義されているものと同じです。

DDBLT_ROTATIONANGLE

DDBLTFX 構造体の dwRotationAngle メンバーを、サーフェスの回転角度 (1/100 秒で指定) として使用します。

カラー キー フラグ

DDBLT_KEYDEST

ターゲット サーフェスに関連付けられているカラー キーを使用します。

DDBLT_KEYSRC

ソース サーフェスに関連付けられているカラー キーを使用します。

動作フラグ

DDBLT_ASYNC

このビットビットは、受信した順序で最初の in、first out (FIFO) ハードウェアを介して非同期的に実行します。 FIFO ハードウェアに空きがない場合、呼び出しは失敗します。

DDBLT_DONOTWAIT

ビット設定なしで を返し、ビットブラッターがビジー状態の場合はDDERR_WASSTILLDRAWINGも返します。

DDBLT_WAIT

bitbltter がビジー状態の場合は、DDERR_WASSTILLDRAWING戻り値を延期し、bitblt を設定したり、別のエラーが発生したりするとすぐに を返します。

古いフラグとサポートされていないフラグ

すべてのDDBLT_ALPHA フラグ値

現在、実装されていません。

すべてのDDBLT_ZBUFFER フラグ値

このメソッドは現在、z 対応ビットblt 操作をサポートしていません。 "DDBLT_ZBUFFER" で始まるフラグはサポートされていません。

[in] unnamedParam5

ビットレットの DDBLTFX 構造体へのポインター。

戻り値

メソッドが成功した場合、戻り値はDD_OK。

失敗した場合、メソッドは次のいずれかのエラー値を返すことができます。

  • DDERR_GENERIC
  • DDERR_INVALIDCLIPLIST
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDRECT
  • DDERR_NOALPHAHW
  • DDERR_NOBLTHW
  • DDERR_NOCLIPLIST
  • DDERR_NODDROPSHW
  • DDERR_NOMIRRORHW
  • DDERR_NORASTEROPHW
  • DDERR_NOROTATIONHW
  • DDERR_NOSTRETCHHW
  • DDERR_NOZBUFFERHW
  • DDERR_SURFACEBUSY
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED
  • DDERR_WASSTILLDRAWING

注釈

Blt では、同期ビットまたは非同期ビットを実行できます (後者は既定の動作です)。 これらのビットは、表示メモリから表示メモリ、表示メモリからシステム メモリ、システム メモリから表示メモリ、またはシステム メモリからシステム メモリに発生する可能性があります。 ビットは、ソース カラー キーと宛先カラー キーを使用して実行できます。 ソース四角形とコピー先の四角形のサイズが同じでない場合は、任意のストレッチまたは縮小が実行されます。

通常、ビットブラッターがビジー状態でビットレットを設定できなかった場合、 Blt はエラーで直ちにを返します。 同期ビットレットを要求するDDBLT_WAIT フラグを指定します。 DDBLT_WAIT フラグを含めると、 Blt は bitblt を設定できるようになるまで待機するか、別のエラーが発生してから戻ります。

RECT 構造体は、右と下のメンバーが排他的になるように定義されます。したがって、右から左を引いた値は、四角形の幅と等しく、幅より 1 小さくなります。

要件

要件
対象プラットフォーム Windows
ヘッダー ddraw.h
Library Ddraw.lib
[DLL] Ddraw.dll

こちらもご覧ください

IDirectDrawSurface7