c++ - Direct2d 离屏渲染错误?

标签 c++ visual-studio-2010 direct2d

我正在尝试使用屏幕外位图渲染目标渲染位图,然后将其绘制在屏幕上。它工作得很好,但是当我尝试在其上渲染单独的位图时,就好像渲染不起作用,它只剪切了原始图片。

它是这样的:http://img827.imageshack.us/img827/7991/clipped.png

我正在使用带有 hwndrendertarget 的 compatiblerendertarget。有趣的是,当我使用屏幕上的 hwndrendertarget 渲染它们时,它们出来的效果很好。

像这样:http://img141.imageshack.us/img141/4825/workingj.png

我正在使用 CopyFromRendertarget 从 Rendertarget 中获取位图,因为出于某种原因 GetBitmap 不适用于 Bitmaprendertarget。这是在 Visual Studio 2010 C++ 上。

有人知道这里发生了什么吗?

---- 编辑----

一个有趣的事情要注意:我尝试在获取位图然后执行 EndDraw 后清除,但它只会获取第一个位图,而其他位图根本不会被绘制。

最佳答案

我正在试验一些东西并注意到我根本不需要将 EndDraw 放到 bitmaprendertarget 上以使其获得所需的位图。当我使用完屏幕外 RT 时,我可以在其上调用 EndDraw,它工作得很好。

关于c++ - Direct2d 离屏渲染错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039889/

相关文章:

C++/CLI Visual C++ 2010 Express - 在一个面板内绘制不同的形状

c++ - 编译器不报告代码错误

c++ - 如何使用 DirectWrite 确定基线位置

c++ - 在 C++ 中使用 Windows Composition 引擎的每像素透明窗口

directx - 检索用于创建 ID2D1RenderTarget 的 IDXGISurface

c++ - 数组作为映射键

c++ - 如何遍历 QList 并将值组合在一起?

c++ - 重新实现 QStyledItemDelegate::paint - 如何获取子元素坐标?

c# - 缺少 Windows 窗体应用程序

c++ - 共享头文件的正确命名是什么