Windows phone 8.1 将位图图像保存到本地文件夹Windows Phone 8.1时出错

Windows phone 8.1 将位图图像保存到本地文件夹Windows Phone 8.1时出错,windows-phone-8.1,Windows Phone 8.1,我有BitmapImage(从live sdk输出下载),我执行以下代码以保存到本地文件夹 var rass = RandomAccessStreamReference.CreateFromUri(new Uri(photoResultdyn.location, UriKind.Absolute)); var stream = await rass.OpenReadAsync(); var bitmapImage = new BitmapImage(); bitmapImage.SetSour

我有BitmapImage(从live sdk输出下载),我执行以下代码以保存到本地文件夹

var rass = RandomAccessStreamReference.CreateFromUri(new Uri(photoResultdyn.location, UriKind.Absolute));
var stream = await rass.OpenReadAsync();

var bitmapImage = new BitmapImage();
bitmapImage.SetSource(stream);
并使用可写位图将bitmapImage转换为可写位图图像

WritableBitmap wbm = new WritableBitmap(bitmapImage);
但失败了

有什么解决办法吗

我正在使用Windows Phone 8.1(在通用应用程序解决方案中)

WriteableBitmap(BitmapImage)构造函数适用于Silverlight。它不适用于Windows运行时应用程序

要将流保存到磁盘并将其添加到位图图像,可以将创建位图图像的原始流直接保存到磁盘。这将避免对位图进行解码和重新编码,因为位图(取决于图像文件格式)可能有损

如果保存距离下载足够远,以致于您没有流,那么您可以通过使用WriteableBitmap来避免从BitmapImage转换。在大多数情况下,两者都可以互换使用

var bitmapImage = new WriteableBitmap();
bitmapImage.SetSource(stream);
WriteableBitmap(BitmapImage)构造函数适用于Silverlight。它不适用于Windows运行时应用程序

要将流保存到磁盘并将其添加到位图图像,可以将创建位图图像的原始流直接保存到磁盘。这将避免对位图进行解码和重新编码,因为位图(取决于图像文件格式)可能有损

如果保存距离下载足够远,以致于您没有流,那么您可以通过使用WriteableBitmap来避免从BitmapImage转换。在大多数情况下,两者都可以互换使用

var bitmapImage = new WriteableBitmap();
bitmapImage.SetSource(stream);

据我所知,通用应用程序仅适用于Windows 10 Mobile。据我所知,通用应用程序仅适用于Windows 10 Mobile。