使用C#/ XAML在地铁样式应用程序中将canvas保存为图像

我正在使用C#/ XAML开发类似地铁风格的应用程序。 我想保存canvas上绘制的任何内容作为图像。 我检查了这个解决方案,但它没有帮助我。

将canvas保存到位图 http://blogs.msdn.com/b/saveenr/archive/2008/09/18/wpf-xaml-saving-a-window-or-canvas-as-a-png-bitmap.aspx

那么如何将canvas内容保存为图像呢? 请帮我进行示例编码。

对于Windows 8.1,Sascha接受的答案不再适用。 有一个新的RenderTargetBitmap类,它允许将渲染的XAML转换为位图。

请参阅: http : //msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.media.imaging.rendertargetbitmap.aspx

但是,我似乎无法呈现XAML已折叠或当前不在屏幕上。 任何帮助,将不胜感激!

其他xaml框架(如Silverlight和WP7)中的标准方法是使用WriteableBitmap,但WinRT中的版本没有带有xaml元素的构造函数,这使我相信它目前无法对抗最新的API。

对不起,我无法提供更多帮助/

一种解决方法是将Direct2D与DirectWrite一起使用。 它有点涉及,但我可能会在某个时候提供一个库。