SharpDX/SolidColorBrush 带 DeviceContext 的构造函数?

SharpDX/SolidColorBrush constructor with DeviceContext?

我正在为一个应用程序学习 Direct2D(在 c# 中使用 sharpdx),但我很难找到最新的工作方式..

这是我目前的问题:

起初,我只将 Direct2D 与 D2D1Factory 一起使用,如 MSDN "quick start" 中所述。但是在寻求优化性能时,我似乎应该使用 ID2D1DeviceContext 进行绘制以访问 some caching mechanism. So I followed this MSDN article 以更新我的应用程序。

但是 SolidColorBrush 的 SharpDX 构造函数只接受 RenderTarget 作为第一个参数,它似乎没有接受 DeviceContext 的构造函数。但它曾经有它,我已经找到了带有它的 SharpDX 代码示例。

该方法是否已过时?为什么 SharpDX 删除了这个构造函数?因为我需要从 DeviceContext 初始化画笔,以便将它们用于我的 DeviceContext 绘制调用。

从 ID2D1Factory 创建一个 RenderTarget 来创建我的画笔,然后尝试将它们与 ID2D1DeviceContext.Draw_something() 一起使用,抛出 DirectX 资源异常(这看起来很合乎逻辑...)

有谁可以点亮我吗?

非常感谢。

根据SDK ID2D1DeviceContext本身就是一个render target,它继承自ID2D1RenderTarget。所以你应该能够使用设备上下文指针作为渲染目标指针参数值。