在metro应用程序中从UIElement生成/保存位图

时间:2012-11-25 14:25:42

标签: windows-8 windows-runtime winrt-xaml uielement

我需要保存与UIElement对应的图片。

我尝试过关注WPF的Generate BitmapSource from UIElement链接,但由于API有限,这在Metro应用中无效。

DirectX是一种方式,但有一个陡峭的学习曲线。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

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

*编辑1

同样的问题也会在Stack OverflowMSDN上被问到。希望在不久的将来可以使用WinRT / XAML中的一种简单方法,但是现在你必须使用这些解决方法。

*编辑2

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

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