Win2D 在 C++/WinRT 中可用吗?

Is Win2D yet available in C++/WinRT?

我需要在我的 cppwinrt 项目中使用 win2D。使用 Win2D 示例文件作为模型,我试图模仿它的设置,从该项目中放入 win2d 的包文件,复制自定义构建步骤,但我无法编译它。我记得有人谈到 Win2D 很快就会添加到标准的 cppwinrt 头文件中,这样就可以像其他这些出色的 cppwinrt 接口一样访问它。这是可能很快发生的事情吗?或者有人有一些关于在当前 Visual Studio 2017 环境中使用 Win2D 的具体说明吗?我在 Insider 预览计划中,但没有看到任何结果。谢谢。

一旦你 downloaded Win2D 并且假设你安装了最新的 RS4 Windows SDK,你可以简单地使用 cppwinrt 生成 Win2D headers 供消费:

cppwinrt -in lib\uap10.0\Microsoft.Graphics.Canvas.winmd -ref sdk

这将生成一个 winrt 文件夹,其中包含要使用 Win2D 需要包含的 headers。然后,您需要将 parent 文件夹添加到您的包含路径,并确保将 Win2D DLL 复制到您的包或构建输出文件夹。

截至最近的更新,使用 Newget 将 Win2D 安装到 C++/WinRT 项目中将自动生成 headers 并将它们安装在 "GeneratedFiles\winrt\"