0

我正在开发 Metro Style 应用程序。在 Metro 中,您可以混合使用 XAML 和 DirectX。我正在创建一个 XAML 用户控件,它使用共享表面在 Direct2D 中呈现某些内容。我希望能够在 XAML 中指定一个画笔,我可以使用它来填充 Direct2D 中的几何图形。

我认为我需要能够将Windows::UI::Xaml::Media::Brush转换为ID2D1Brush

4

1 回答 1

1

Direct2D 接口与 XAML 类有着密切的对应关系。但是,有几件事您将无法仅使用 复制或模拟ID2D1Brush,例如Transformvs. RelativeTransform。如果您查看类似TileBrushor的内容,情况会变得更糟LinearGradientBrush.MappingMode。您需要创建自己的包装器,ID2D1RenderTarget其中考虑的因素比通常可用的更多。

Direct2D 是一个低级绘图 API,而 XAML 类是更大的表示/UI 框架的一部分(它是缩减的 WPF/Silverlight)。如果您不担心无法复制或模拟的属性,那么只需创建一些静态实用程序方法来在两者之间进行转换。

于 2012-06-12T18:45:08.003 回答