0

我有一个将 Direct2D 内容绘制到 ID2D1RenderTarget 的现有组件,我想将该绘图保存到图像文件中。这里这里这里的问题虽然对我有所帮助,但并没有提供一个明确的答案来说明如何去做。

我的第一个想法是尝试官方的MSDN 方法。不幸的是,它在 Win7 中不可用。

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

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

那么在Win7下是否可以不用实现我的第一个想法,你会怎么做呢?

4

1 回答 1

0

如果您安装平台更新,则 Windows 7 支持 Direct2D 1.1。不幸的是,如果不先创建另外两个,这并不能解决您的问题:1)它仍然是预发布/测试版,2)它增加了另一个安装依赖项,让您担心。

于 2013-02-08T19:26:00.237 回答