C++ を使用して Windows デスクトップ アプリケーション用の Direct2D アプリケーションを既に実装しており、シミュレーション中のグラフィカルな結果 (点、線、および楕円) を示しています。シミュレーションが実行されている限り、シミュレーション値を保存するためのバッファーを保持し、時間間隔ごとに値をプロットするだけです。今のところ、Hwnd
( ID2D1HwndRenderTarget
) のように直接描画している状況です。
pRenderTarget->BeginDraw()
for(values of simulation results)
pRenderTarget->DrawLine(....)
pRenderTarget->EndDraw()
ここで、ビットマップをイメージとしてコンピューターに保存する必要があるため、ビットマップを使用したオフスクリーン レンダリング/描画を使用します (シミュレーション結果を保存するためにスクリーンショットを取得/キャプチャするのと同じです)。この場合、どのように進めればよいですか (Direct2D の有無にかかわらずIWICBitmapFactory
- 後で画面をキャプチャするため)。
作成
ID2D1HwndRenderTarget pHwndRenderTarget
- 使用pD2DFactory->CreateHwndRenderTarget()
作成
ID2D1BitmapFactory pBitmapFactory
- 使用pHwndRenderTarget->CreateCompatibleRenderTarget()
空のビットマップを作成する
ID2D1Bitmap ID2D1Bitmap pBmp
- を使用pBitmapFactory->CreateBitmap()
?? このビットマップに線を引く必要がありますか? そうでない場合は、どこに線を引きますか
最後に、誰
BeginDraw()
との間EndDraw()
にビットマップを配置すればよいでしょうか?後で、このビットマップのスクリーンショットをキャプチャします。なし
IWICBitmapFactory
でこれを達成できますか?コードサンプルをいただければ幸いです。