DrawDibDraw 関数 (vfw.h)
DrawDibDraw 関数は、画面に DIB を描画します。
構文
BOOL VFWAPI DrawDibDraw(
HDRAWDIB hdd,
HDC hdc,
int xDst,
int yDst,
int dxDst,
int dyDst,
LPBITMAPINFOHEADER lpbi,
LPVOID lpBits,
int xSrc,
int ySrc,
int dxSrc,
int dySrc,
UINT wFlags
);
パラメーター
hdd
DrawDib DC へのハンドル。
hdc
DC へのハンドル。
xDst
クライアント座標 MM_TEXT 変換先の四角形の左上隅の x 座標。
yDst
クライアント座標 MM_TEXT 、移動先の四角形の左上隅の y 座標。
dxDst
クライアント座標 MM_TEXT 変換先の四角形の幅。 dxDst が -1 の場合は、ビットマップの幅が使用されます。
dyDst
クライアント座標 MM_TEXT 、移動先の四角形の高さ。 dyDst が -1 の場合、ビットマップの高さが使用されます。
lpbi
イメージ形式を含む BITMAPINFOHEADER 構造体へのポインター。 BITMAPINFOHEADER 内の DIB のカラー テーブルは形式に従い、biHeight メンバーは正の値である必要があります。DrawDibDraw では、反転された DIB は描画されません。
lpBits
ビットマップ ビットを含むバッファーへのポインター。
xSrc
ソース四角形の左上隅の x 座標 (ピクセル単位)。 座標 (0,0) は、ビットマップの左上隅を表します。
ySrc
ソース四角形の左上隅の y 座標 (ピクセル単位)。 座標 (0,0) は、ビットマップの左上隅を表します。
dxSrc
ソース四角形の幅 (ピクセル単位)。
dySrc
ソース四角形の高さ (ピクセル単位)。
wFlags
描画に適用できるフラグ。 次の値が定義されています。
値 | 説明 |
---|---|
DDF_BACKGROUNDPAL | 背景での描画に使用されるパレットを実現し、表示に使用される実際のパレットは変更されません。 この値は、 DDF_SAME_HDC が設定されていない場合にのみ有効です。 |
DDF_DONTDRAW | 現在のイメージは圧縮解除されますが、描画されません。 このフラグは 、DDF_PREROLL フラグよりも優先されます。 |
DDF_FULLSCREEN | サポートされていません。 |
DDF_HALFTONE | DIB のパレットに関係なく、常に DIB を標準パレットにディザリングします。 アプリケーションで DrawDibBegin 関数を使用する場合は、DrawDibDraw ではなく DrawDibBegin にこの値を設定します。 |
DDF_HURRYUP | データを描画する必要はありません (つまり、削除できます)、 DDF_UPDATE はこの情報を呼び出すために使用されません。 DrawDib は、次のフレームをビルドするために必要な場合にのみ、この値をチェックします。それ以外の場合、値は無視されます。この値は、通常、ビデオとオーディオを同期するために使用されます。 データを同期するときに、ドライバーがフレームをバッファーして後続のフレームを圧縮解除する必要がある場合に備えて、アプリケーションはこの値を使用してイメージを送信する必要があります。 |
DDF_NOTKEYFRAME | DIB データはキー フレームではありません。 |
DDF_SAME_HDC | 現在の DC ハンドルと、現在 DC に関連付けられているパレットを使用します。 |
DDF_SAME_DRAW | DrawDibDraw の現在の描画パラメーターを使用します。 この値は、DrawDibDraw または DrawDibBegin を使用して以来、lpbi、dxDst、dyDst、dxSrc、dySrc が変更されていない場合にのみ使用します。 DrawDibDraw は通常、パラメーターをチェックし、パラメーターが変更された場合は 、DrawDibBegin によって描画用の DrawDib DC が準備されます。 このフラグは、 DDF_SAME_DIB および DDF_SAME_SIZE フラグよりも優先されます。 |
DDF_UPDATE | 最後にバッファーに格納されたビットマップを再描画します。 この値で描画が失敗した場合、バッファーイメージは使用できず、表示を更新する前に新しいイメージを指定する必要があります。 |
戻り値
成功した場合は TRUE、 それ以外の場合 は FALSE を 返します。
解説
DDF_DONTDRAW すると、 DrawDibDraw は圧縮解除されますが、イメージは表示されません。 DDF_UPDATEを指定する DrawDibDraw の後続の呼び出しでは、イメージ が表示されます 。
DrawDib DC に画面外バッファーが指定されていない場合、 DDF_DONTDRAW を指定すると、フレームがすぐに画面に描画されます。 DDF_UPDATE失敗を指定して DrawDibDraw を後続で呼び出します。
これらは異なる時間に設定されますが、 DDF_UPDATE と DDF_DONTDRAW を組み合わせて使用して、画面外で合成イメージを作成できます。 画面外のイメージが完了したら、 DrawDibDraw を呼び出してイメージを表示できます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vfw.h |
Library | Vfw32.lib |
[DLL] | Msvfw32.dll |