MediaLibrary.SavePicture сохраняет поток изображений в уменьшенном разрешении
Я создаю приложение, которое позволяет пользователю захватывать изображение, а затем сохранять его как в изолированном хранилище, так и в медиа-библиотеке телефона.
Когда я загружаю эти два изображения на свой компьютер, я вижу, что изображение, сохраненное в изолированном хранилище, имеет разрешение 2592x1944 пикселей и 262 т / д, а изображение, сохраненное в библиотеке мультимедиа, - 1222x1630 и 72 т / д. Я не могу объяснить, почему это происходит. Мой связанный код:
//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 - WritableBitmap, созданный из e.ChosenPhoto)
1 ответ
Я предполагаю, что это связано с сохранением его из 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();