在Windows Phone 8.1中将IBuffer转换为字节数组,怎么做?

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

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

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

我该如何解决这个问题?

谢谢!

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

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

using System.Runtime.InteropServices.WindowsRuntime

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

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

此致,Marcin

提案解决方案:我使用此post中的代码: https : //stackoverflow.com/a/21490534/3139083

谢谢