Как мы можем использовать API-интерфейс Pictures/RootPictureAlbum/SavedPicture класса MediaLibrary для доступа к фотографиям в папке SavedPicture для чтения их в байтовый буфер?
Window Phone 8: как читать файлы из папки SavedPictures в байтовый буфер
Ответы (1)
Попробуйте таким образом
using (var library = new MediaLibrary())
{
var savedPictures = library.Pictures.ToList();
if (savedPictures.Any())
{
foreach (var pic in savedPictures)
{
var bitmap = new WriteableBitmap(pic.Width, pic.Height);
using (var stream = pic.GetImage()) //here you will get the stream
{
bitmap.SetSource(stream);
}
}
}
}
person
asitis
schedule
02.01.2014
Спасибо, Аситис, это сработало. Раньше я сохранял изображение в CameraRoll, и с помощью приведенного выше кода я мог получить изображение, но теперь проблема заключается в том, что при сохранении и извлечении размер буфера совершенно другой. Что может быть возможно? причина этого?
- person prince; 02.01.2014
Какую разницу в размере буфера вы имеете в виду?
- person asitis; 02.01.2014
Я преобразовал поток в массив байтов перед сохранением, а также после извлечения, длина этих массивов байтов отличается?
- person prince; 02.01.2014
Если вы хотите получить точное изображение, используйте pic.GetImage() вместо pic.GetThumbnail().
- person asitis; 02.01.2014
Я использовал только GetImage(). Я просто хотел знать, как увеличивается размер изображения после его сохранения в фотопленке.
- person prince; 02.01.2014
добавьте его в свой вопрос, чтобы другие могли легко понять вашу проблему.
- person asitis; 02.01.2014
Моя проблема решилась. Это была проблема формата файла. Я сохранял файл в другом формате, поэтому он показывал разные размеры файлов.
- person prince; 02.01.2014