<Return[D]><Top>

DrawDibBegin

Declare Function Api_DrawDibBegin& Lib "msvfw32" Alias "DrawDibBegin" (ByVal hdd&, ByVal hdc&, ByVal dxDst&, ByVal dyDst&, ByRef lpbi As BITMAPINFOHEADER, ByVal dxSrc&, ByVal dySrc&, ByVal wFlags&)

Declare Function DrawDibBegin Lib "msvfw32" (ByVal hdd As Long, ByVal hdc As Long, ByVal dxDst As Long, ByVal dyDst As Long, ByRef lpbi As BITMAPINFOHEADER, ByVal dxSrc As Long, ByVal dySrc As Long, ByVal wFlags As Long) As Long

DrawDib デバイスコンテキストのパラメータを変更するか、または DrawDib デバイスコンテキストを新しく初期化する。

パラメータ
hdd
    DrawDib デバイスコンテキストのハンドルを指定する。
hdc
    描画に使うデバイスコンテキストのハンドルを指定する。このパラメータはオプションである。
dxDest
    送信先長方形の幅を MM_TEXT クライアント単位で指定する。
dyDest
    送信先長方形の高さを MM_TEXT クライアント単位で指定する。
lpbi
    イメージフォーマットを受け取る 構造体のアドレスを指定する。DIB のカラーテーブルはイメージフォーマットに従い、biHeight メンバは必ず正

    値になる。
dxSrc
    送信元長方形の幅をピクセル単位で指定する。
dySrc
    送信元長方形の高さをピクセル単位で指定する。
wFlags
    この関数に適用されるフラグを指定する。次の値が定義されている。
    DDF_ANIMATE
        パレットアニメーションを可能にする。この値が設定されている場合、DrawDib は、 構造体の palPalEntry メンバに PC_RESERVED

        の値を設定して可能な限り多くのエントリを予約し、DrawDibChangePalette 関数を使ってパレットをアニメーションで表示できる。アプリ

        ケーションが DrawDibBegin 関数を DrawDibDraw 関数とともに使う場合は、この値を DrawDibDraw 関数ではなく DrawDibBegin

        関数で設定する。
    DDF_BACKGROUNDPAL
        表示に使われている現在のパレットを変更せずに、描画に使われているパレットをバックグラウンドタスクとして実体化する(この値は

        DDF_SAME_HDC と相互排他である)。
    DDF_BUFFER
        DrawDib は、DDF_UPDATE を利用できるように、オフスクリーンバッファを使う。これにより、圧縮解除とスクリーンへの直接描画が無

        効になる。DrawDib は、オフスクリーンバッファを作成できない場合、圧縮解除するか直接スクリーンに描画する。
    DDF_DONTDRAW
        現在のイメージは描画されずに解凍される。DDF_UPDATE は、後で描画するときに使われる。このフラグは DDF_PREROLL フラグ

        に代わるものである。
    DDF_FULLSCREEN
        サポートされていない。
    DDF_HALFTONE
        DIB のパレットとは関係なく、DIB を常に標準パレットにディザ処理する。アプリケーションが DrawDibBegin 関数を DrawDibDraw 関

        数とともに使う場合、この値を DrawDibDraw 関数ではなく DrawDibBegin 関数で設定する。
    DDF_JUSTDRAWIT
        GDI を使ってイメージを描画する。DrawDib 関数がイメージの解凍、伸長またはディザリングを行わないようにする。これにより、 関数と

        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 をデバイスコンテキストに描画する準備をする。イメージは、dxDest パラメータと dyDest パラ

    メータで指定されたサイズに伸長される。両方とも– 1 にセットされた場合は、DIB は伸長されずに 1:1 のスケールで描画される。
    DrawDibBegin 関数を再び実行したり、新しいフラグを指定したり、あるいは dxDest、dyDest、lpbi、dxSrc, または dySrc. の設定を変

    更することによって、DrawDib デバイスコンテキストのフラグを更新することができる。
    DrawDibBegin 関数のパラメータが変更されていなければ、この関数を再び呼び出しても何も起きない。