11

C++ を使用して Windows デスクトップ アプリケーション用の Direct2D アプリケーションを既に実装しており、シミュレーション中のグラフィカルな結果 (点、線、および楕円) を示しています。シミュレーションが実行されている限り、シミュレーション値を保存するためのバッファーを保持し、時間間隔ごとに値をプロットするだけです。今のところ、Hwnd( ID2D1HwndRenderTarget) のように直接描画している状況です。

pRenderTarget->BeginDraw() 

for(values of simulation results)
pRenderTarget->DrawLine(....)

pRenderTarget->EndDraw()

ここで、ビットマップをイメージとしてコンピューターに保存する必要があるため、ビットマップを使用したオフスクリーン レンダリング/描画を使用します (シミュレーション結果を保存するためにスクリーンショットを取得/キャプチャするのと同じです)。この場合、どのように進めればよいですか (Direct2D の有無にかかわらずIWICBitmapFactory- 後で画面をキャプチャするため)。

  1. 作成ID2D1HwndRenderTarget pHwndRenderTarget- 使用pD2DFactory->CreateHwndRenderTarget()

  2. 作成ID2D1BitmapFactory pBitmapFactory- 使用pHwndRenderTarget->CreateCompatibleRenderTarget()

  3. 空のビットマップを作成するID2D1Bitmap ID2D1Bitmap pBmp- を使用pBitmapFactory->CreateBitmap()

  4. ?? このビットマップに線を引く必要がありますか? そうでない場合は、どこに線を引きますか

  5. 最後に、誰BeginDraw()との間EndDraw()にビットマップを配置すればよいでしょうか?

  6. 後で、このビットマップのスクリーンショットをキャプチャします。なしIWICBitmapFactoryでこれを達成できますか?コードサンプルをいただければ幸いです。

4

0 に答える 0