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

时间:2014-04-05 09:50:27

标签: c# rendertargetbitmap windows-phone-8.1

我正在为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上存在。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:23)

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

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

using System.Runtime.InteropServices.WindowsRuntime

答案 1 :(得分:3)

我只是不想创建新问题,所以决定扩展这个问题。它将是WP8和Windows商店应用程序

平台的完整答案

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

此致 马尔钦

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

由于