将WriteableBitmap转换为WP8上的流

时间:2013-06-04 08:50:43

标签: windows-phone-8 windows-phone

如何在WP8平台上将WriteableBitmap转换为流?

最终目标是使用SavePictureToCameraRoll(filename, stream)

将本机代码生成的图像输出转储到CameraRoll库

1 个答案:

答案 0 :(得分:14)

您可以将您的位图编码为使用WritableBitmap.SaveJpeg方法进行流式处理,并将此流用作MediaLibrary.SavePictureToCameraRoll的参数。
注意:在调用MediaLibrary.SavePictureToCameraRoll之前,如果您使用的是MemoryStream,请不要忘记将流位置设置为0。像这样:

var wb = new WriteableBitmap(bitmap);
var fileStream = new MemoryStream();
wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 100, 100);
fileStream.Seek(0, SeekOrigin.Begin);

var m = new MediaLibrary();
m.SavePictureToCameraRoll("test", fileStream);