3

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

最终目标是将本机代码生成的图像输出转储到 CameraRoll 库,使用SavePictureToCameraRoll(filename, stream)

4

1 回答 1

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);
于 2013-06-04T11:30:35.100 回答