DrawDibBegin 関数 (vfw.h)
DrawDib 関数は、DrawDib DC のパラメーターを変更するか、新しい DrawDib DC を初期化します。
構文
BOOL VFWAPI DrawDibBegin(
HDRAWDIB hdd,
HDC hdc,
int dxDst,
int dyDst,
LPBITMAPINFOHEADER lpbi,
int dxSrc,
int dySrc,
UINT wFlags
);
パラメーター
hdd
DrawDib DC へのハンドル。
hdc
描画用の DC へのハンドル。 このパラメーターは省略可能です。
dxDst
クライアント単位 MM_TEXT 、コピー先の四角形の幅。
dyDst
クライアント単位 MM_TEXT 、移動先の四角形の高さ。
lpbi
イメージ形式を含む BITMAPINFOHEADER 構造体へのポインター。 DIB のカラー テーブルはイメージ形式に従い、 biHeight メンバーは正の値である必要があります。
dxSrc
ソース四角形の幅 (ピクセル単位)。
dySrc
ソース四角形の高さ (ピクセル単位)。
wFlags
関数に適用できるフラグ。 次の値が定義されています。
値 | 説明 |
---|---|
DDF_ANIMATE | パレット アニメーションを許可します。 この値が存在する場合、DrawDib は LOGPALETTE 構造体の palPalEntry 配列エントリにPC_RESERVEDを設定することで、できるだけ多くのエントリを予約し、DrawDibChangePalette 関数を使用してパレットをアニメーション化できます。 アプリケーションで DrawDibBegin 関数と DrawDibDraw 関数を使用する場合は、DrawDibDraw ではなく DrawDibBegin でこの値を設定します。 |
DDF_BACKGROUNDPAL | 背景タスクとして描画するために使用されるパレットを実現し、表示に使用されている現在のパレットは変更されません。 (この値は DDF_SAME_HDCの相互に排他的です。 |
DDF_BUFFER | DrawDib が画面外バッファーを使用して、 DDF_UPDATE を使用できるようにします。 これにより、圧縮解除が無効になり、画面に直接描画されます。 DrawDib が画面外バッファーを作成できない場合は、画面に直接展開または描画されます。 詳細については、「DrawDibDraw」で説明されているDDF_UPDATEとDDF_DONTDRAWの値を参照してください。 |
DDF_DONTDRAW | 現在のイメージは描画されませんが、圧縮解除されます。 DDF_UPDATE は、後でイメージを描画するために使用できます。 このフラグは 、DDF_PREROLL フラグよりも優先されます。 |
DDF_FULLSCREEN | サポートされていません。 |
DDF_HALFTONE | DIB のパレットに関係なく、常に DIB を標準パレットにディザリングします。 アプリケーションで DrawDibBegin と DrawDibDraw を使用する場合は、DrawDibDraw ではなく DrawDibBegin でこの値を設定します。 |
DDF_JUSTDRAWIT | GDI を使用してイメージを描画します。 DrawDib 関数がイメージの圧縮解除、ストレッチ、ディザリングを禁止します。 これにより、 StretchDIBits 関数と区別する機能の DrawDib が削除されます。 |
DDF_SAME_DRAW | DrawDibDraw の現在の描画パラメーターを使用します。 この値は、DrawDibDraw または DrawDibBegin を使用して以来、lpbi、dxDest、dyDest、dxSrc、dySrc が変更されていない場合にのみ使用します。 このフラグは、 DDF_SAME_DIB および DDF_SAME_SIZE フラグよりも優先されます。 |
DDF_SAME_HDC | 現在の DC ハンドルと、現在 DC に関連付けられているパレットを使用します。 |
DDF_UPDATE | 最後にバッファーに格納されたビットマップを再描画する必要があります。 この値で描画が失敗した場合、バッファーイメージは使用できず、表示を更新する前に新しいイメージを指定する必要があります。 |
戻り値
成功した場合は TRUE、 それ以外の場合 は FALSE を 返します。
解説
この関数は、 lpbi で指定された DIB を DC に描画する準備をします。 イメージは、 dxDest と dyDest で指定されたサイズに拡大されます。 dxDest と dyDest が -1 に設定されている場合、DIB はストレッチなしで 1:1 スケールに描画されます。
DrawDib DC のフラグを更新するには、 DrawDibBegin を再発行し、新しいフラグを指定し、 dxDest、 dyDest、 lpbi、 dxSrc、 または dySrc のいずれかの設定を変更します。
DrawDibBegin のパラメーターが変更されていない場合、関数の後続の呼び出しは無効です。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vfw.h |
Library | Vfw32.lib |
[DLL] | Msvfw32.dll |