Direct2DコンテンツをID2D1RenderTargetに描画する既存のコンポーネントがあり、その描画を画像ファイルに保存したいと思います。ここ、ここ、ここの質問は私を助けてくれましたが、それを行う方法として明確な答えを提供しませんでした。
私のnull番目のアイデアは、公式のMSDNメソッドを試すことでした。残念ながら、Win7では利用できません。
私の最初のアイデアは、描画ルーチンを変更してRenderTargetをパラメーターとして受け入れ、ID2D1Factory :: CreateWicBitmapRenderTargetを使用してIWICBitmapに直接描画することでしたが、私にとっては非常に難しいことがわかりました(描画ルーチン自体だけでなく、そのコンポーネントのすべてのユーザーの描画コールバック(Delphiで記述されたコードはEmbarcaderoのTDirect2DCanvasを使用するため、レンダリングターゲットやブラシなどのすべてのDirect2Dリソースを管理する必要はありませんでした))。
私の2番目のアイデアは、ID2D1Bitmapを作成し、ID2D1Bitmap :: CopyFromRenderTargetを使用して既に描画されているもので埋めてから、そのID2D1BitmapをWicBitmapRenderTargetに描画することでした(これはここで行われたことです)。私は、リンク先の質問をした人と同じ種類の問題を抱えていました。ケニー・カーが簡単に説明したように、さまざまなリソースの親和性です。
それで、私の最初のアイデアを実装することなく、Win7の下でそれは可能ですか、そしてあなたはそれをどのように行いますか?