次の方法で共有


画像のシーケンス

DrawDibBegin 関数で DrawDibDraw 関数を使用すると、同じサイズと形式のビットマップのシーケンスを表示できます。 DrawDibBegin は、描画用の DrawDib DC を準備することで DrawDibDraw の効率を向上させます。

Note

アプリケーションで DrawDibBegin を使用しない場合、 DrawDibDraw は 描画前にそれを暗黙的に実行します。 DrawDibDraw より前にアプリケーションで DrawDibBegin を使用している場合、DrawDibDraw は関数を処理して完了するまで待機する必要はありません。

 

DrawDibBegin 関数は DrawDibDraw に DrawDib DC、DC ハンドル、BITMAPINFOHEADER 構造体のアドレス、およびコピー元とコピー先の四角形の次元を提供します。 ビットマップのシーケンスを表示すると、 DrawDibDraw は、シーケンス内の各イメージのこれらの項目の値を確認します。 DrawDibDraw は、これらの項目のいずれかに対する変更を検出した場合、DrawDibBegin をもう一度暗黙的に呼び出して DrawDib DC 設定を調整します。

DrawDibBegin を使用した後、DrawDibDraw を使用し、必要に応じて 1 つ以上のフラグを指定することで、イメージ シーケンスを描画できます。 DC ハンドルが変更されていない限り、 DDF_SAME_HDC フラグを指定します。 DrawDibDraw の次のパラメーターが変更されていない場合は、DDF_SAME_DRAW フラグを指定します。BITMAPINFOHEADER 構造体のアドレス、およびコピー元とコピー先の四角形のディメンション。

DrawDibBegin で設定されたフラグを更新するには、DrawDibEnd 関数を使用し、その後に DrawDibBegin の別の呼び出しを行います。 次 に、DrawDibEnd を使用して、現在のフラグと設定の DrawDib DC をクリアします。 DrawDibBegin への後続の呼び出しでは、適切なフラグと設定を使用して DrawDib DC を再初期化します。 または、DrawDibEnd を使用せずに DrawDibBegin を使用して DrawDib DC のフラグを更新することもできます。 これを行うには、少なくとも 1 つの設定をフラグと同時に変更する必要があります。 BITMAPINFOHEADER 構造体のアドレス、またはコピー元またはコピー先の四角形のディメンション。

DrawDibStart 関数と DrawDibStop 関数を使用すると、ビデオ クリップの再生など、圧縮された画像を使用するデータ ストリーミング操作の DrawDibDraw の効率を高めることができます。 DrawDibStart 関数は、ビデオ圧縮マネージャー (VCM) にメッセージを送信して画像のストリームを受信するように DrawDib DC を準備します。 ストリーミングが終了すると、 DrawDibStop は、データ ストリーミング操作に割り当てられたリソースを解放できることを示すメッセージを VCM に送信します。 VCM の詳細については、「 Video Compression Manager」を参照してください。

Note

アプリケーションのソース四角形と変換先四角形の幅と高さを指定する必要があります。 ただし、四角形の原点を指定する必要はありません。 アプリケーションで DrawDibDraw の原点を再定義して、イメージの異なる部分を使用したり、ディスプレイのさまざまな部分を更新したりできます。

 

イメージのレンダリング