0

在我的 Windows 应用商店应用程序中,我必须使用 C++ 中的 Direct2D 绘制路径几何。在我的场景中,我没有使用基本Polyline对象,而是使用 Direct2D 以获得更好的应用程序性能。因此,我的 C# 应用程序将与 Direct2D 绘图的 C++ 组件进行通信。

链接有助于获取有关 Direct2D 绘图的更多信息PathGeometry。但它在窗口句柄中绘制几何图形,而不是使用窗口句柄,我需要像普通UIElement渲染一样完成绘制。网上有没有样品可以解决我的问题?

4

2 回答 2

1

有用于 DirectX/XAML 集成的示例,我认为甚至可能有一个 VS 项目模板用于集成这些包含 Direct2D 代码的项目模板,尽管可能在单个项目 natice C++ 应用程序中,而您需要创建一个本机 WinRT 组件来公开应用程序的 C++/CX API 可以放入SwapChainPanel(最佳选择,但需要 Windows 8.1)、SwapChainBackgroundPanel(不错的选择,但仅限全屏)或SurfaceImageSource.

于 2013-08-02T00:14:15.403 回答
0

我们必须使用创建 SurfaceImageSource 的工厂;我们不应该创建一个新工厂。所以我们会有这样的代码:

 ID2D1Factory *pFactory=nullptr;
 d2dDevice->GetFactory(&pFactory);
 ID2D1GeometrySink *pSink = NULL;
 ID2D1PathGeometry *pPathGeometry=NULL;
 // Create a path geometry.
 HRESULT hr = pFactory->CreatePathGeometry(&pPathGeometry);

终于解决了我的问题。

于 2013-08-07T12:21:24.410 回答