0

Direct2DコンテンツをID2D1RenderTargetに描画する既存のコンポーネントがあり、その描画を画像ファイルに保存したいと思います。ここここここの質問は私を助けてくれましたが、それを行う方法として明確な答えを提供しませんでした。

私のnull番目のアイデアは、公式のMSDNメソッドを試すことでした。残念ながら、Win7では利用できません。

私の最初のアイデアは、描画ルーチンを変更してRenderTargetをパラメーターとして受け入れ、ID2D1Factory :: CreateWicBitmapRenderTargetを使用してIWICBitmapに直接描画することでしたが、私にとっては非常に難しいことがわかりました(描画ルーチン自体だけでなく、そのコンポーネントのすべてのユーザーの描画コールバック(Delphiで記述されたコードはEmbarcaderoのTDirect2DCanvasを使用するため、レンダリングターゲットやブラシなどのすべてのDirect2Dリソースを管理する必要はありませんでした))。

私の2番目のアイデアは、ID2D1Bitmapを作成し、ID2D1Bitmap :: CopyFromRenderTargetを使用して既に描画されているもので埋めてから、そのID2D1BitmapをWicBitmapRenderTargetに描画することでした(これはここで行われたことです)。私は、リンク先の質問をした人と同じ種類の問題を抱えていました。ケニー・カーが簡単に説明したように、さまざまなリソースの親和性です。

それで、私の最初のアイデアを実装することなく、Win7の下でそれは可能ですか、そしてあなたはそれをどのように行いますか?

4

1 に答える 1

0

プラットフォームアップデートをインストールすると、Direct2D1.1がWindows7でサポートされます。残念ながら、最初に2つ作成しないと問題は解決しません。1)まだプレリリース/ベータ版であり、2)心配する必要のある別のインストール依存関係が追加されます。

于 2013-02-08T19:26:00.237 に答える