2

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

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

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

4

4 回答 4

1

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

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

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

于 2013-08-24T14:38:36.327 回答
0

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

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

于 2012-06-28T20:51:17.860 回答
0

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

于 2012-06-29T06:35:16.727 回答
0

似乎目前不支持开箱即用,就像我们过去使用 WPF 所做的那样:

http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/dd66c749-efed-4b55-a716-e0aa3a637d28

在做 HTML5/Javascript Metro 应用程序时,您可以这样做:

http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/cf8c17dc-68d4-4777-951f-bb7f0665bd06

于 2012-07-09T10:06:15.567 回答