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();
Другие вопросы по тегам