2

我需要保存与UIElement.

我已尝试从 WPF 的 UIElement 链接生成 BitmapSource,但由于 API 有限,这在 Metro 应用程序中不起作用。

DirectX 是一种方法,但学习曲线陡峭。

4

2 回答 2

3

这现在在 Windows 8.1 中可用,请参阅http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.media.imaging.rendertargetbitmap.aspx

于 2013-09-03T16:35:30.987 回答
0

除了自己渲染之外别无他法,您可以使用WriteableBitmap或 DirectX 来完成,具体取决于您想要实现的目标。这完全是由于WriteableBitmap.Render()Silverlight 中缺少可用的方法以及 WPF 中的类似方法。

*编辑 1

Stack OverflowMSDN上也不断有人问类似的问题。希望在不久的将来可以在 WinRT/XAML 中提供一种简单的方法,但现在您必须使用这些变通方法。

*编辑 2

我刚刚研究了很短的时间,但我正在努力实现一些基本的组合代码来将可视化树渲染为位图。现在让它适用于一些基本的 TextBlocks,但我可能很快也会添加其他部分。您可以使用代码添加场景中所需的元素。

http://winrtxamltoolkit.codeplex.com/SourceControl/changeset/view/585d3ae5a3e3#WinRTXamlToolkit.Composition%2fWriteableBitmapRenderExtensions.cs

于 2012-11-25T19:24:12.873 回答