17

我正在为 Windows Phone 8.1 编写应用程序。

我需要将 UIElement 保存为图像文件(我更喜欢 JPG 或 PNG)。我正在使用 RenderTargetBitmap 类来执行此操作。在我的 UIElement 上调用 RenderAsync 方法后,我创建了一个 IBuffer,其中包含我的 RenderTargetBitmap 的 GetPixelsAsync() 方法的结果。

现在我需要调用 ToArray() 方法将我的 IBuffer 转换为字节数组,以使用 BitmapEncoder 之类的东西保存我的图像,但似乎在 Windows Phone 8.1 上没有任何用于 IBuffer 的 ToArray() 方法,而在 Windows 上8.1 存在。

我该如何解决这个问题?

4

2 回答 2

23

这在 Windows Phone 8.1 上可用,但在 WP 8.0 上不可用。(见MSDN 链接

但是,您需要确保包含适当的命名空间,以便编译器可以找到它:

using System.Runtime.InteropServices.WindowsRuntime

于 2014-04-05T13:57:25.913 回答
3

我只是不想创建新问题,所以决定扩展这个问题。这将是 WP8 平台和 Windows 商店应用程序的完整答案

也许您知道如何在我们无法使用此命名空间的 Windows Store App 中将 IBuffer 转换为 byte[]:System.Runtime.InteropServices.WindowsRuntime

问候, 马辛

建议解决方案:我使用这篇文章中的代码:https ://stackoverflow.com/a/21490534/3139083

谢谢

于 2014-08-29T08:29:55.150 回答