如何将ID2D1RenderTarget的内容保存到文件中

时间:2013-02-04 15:22:12

标签: direct2d wic

我有一个将Direct2D内容绘制到ID2D1RenderTarget的现有组件,我想将该绘图保存到图像文件中。问题hereherehere虽然帮助了我,却没有提供明确的答案。

我的无效想法是尝试官方MSDN method。不幸的是,它在Win7中不可用。

我的第一个想法是修改绘图例程,使其接受RenderTarget作为参数,并使用ID2D1Factory :: CreateWicBitmapRenderTarget直接绘制到IWICBitmap中,但事实证明这对我来说非常困难(因为它是必要的)不仅修改绘图例程本身,还修改该组件的所有用户的绘图回调(代码,用Delphi编写,使用Embarcadero的TDirect2DCanvas,因此不需要管理所有Direct2D资源,如渲染目标或画笔))。

我的第二个想法是创建一个ID2D1Bitmap,用已经使用ID2D1Bitmap :: CopyFromRenderTarget绘制的内容填充它,然后将该ID2D1Bitmap绘制到WicBitmapRenderTarget(这是关于做了什么here)。我和那些问我链接的问题有同样的问题:不同的资源亲和力,简要explained Kenny Kerr

因此,在Win7下可以实现我的第一个想法,你会怎么做?

1 个答案:

答案 0 :(得分:0)

如果安装了Platform Update,Windows 7将支持Direct2D 1.1。不幸的是,如果没有先创建另外两个,它就无法解决您的问题:1)它仍然是预发布/测试版,2)它增加了另一个安装依赖项,让您担心。