0

我构建了一个应用程序,允许用户捕获图像,然后将其保存到隔离存储和手机的媒体库中。

当我将这两张图片下载到我的电脑上时,我看到保存在独立存储中的一张分辨率为 2592x1944 像素和 262 dpi,而保存在媒体库中的一张是 1222x1630 和 72 dpi。我无法解释为什么会发生这种情况。我的相关代码隐藏是:

//Save image to isolated storage
Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);

//Save image to Media Library
MediaLibrary medialibrary = new MediaLibrary();
medialibrary.SavePicture(imageName, e.ChosenPhoto;);

(wb 是从 e.ChosenPhoto 创建的 WritableBitmap)

4

1 回答 1

0

我认为它与从 ChosenPhoto 而不是从 WriteableBitmap 保存它有关。尝试将图片从独立存储中保存到媒体库,而不是像这样

// Encode WriteableBitmap object to a JPEG stream.
Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
fileStream.Close();

// Create a new stream from isolated storage, and save the JPEG file to the media library on Windows Phone.
fileStream = store.OpenFile(tempJPEG, FileMode.Open, FileAccess.Read);

MediaLibrary mediaLibrary = new MediaLibrary();
Picture pic = mediaLibrary.SavePicture("savedflimage.jpg", fileStream);
fileStream.Close();
于 2012-12-22T15:28:05.473 回答