Я пытаюсь загрузить изображения из FileOpenPicker и сохранить его в WritableBitmap, чтобы работать с ним позже. Он работает, но когда я загружаю изображение с высоким разрешением (например, jpg 2592x3888), мое приложение разбивается. И обработка больших изображений занимает слишком много времени. Поэтому мой вопрос: что я делаю неправильно здесь? Каков наилучший подход?Как обрабатывать фотографии с высоким разрешением в Windows Phone 8.1
StorageFile file = args.Files[0];
using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read))
{
App.context.Image = new WriteableBitmap(1, 1);
stream.Seek(0);
int width = (int)Frame.ActualWidth;
int height = (int)Frame.ActualHeight;
App.context.Image = await BitmapFactory.New(1, 1).FromStream(stream);
App.context.Image = App.context.Image.Resize(width, height, WriteableBitmapExtensions.Interpolation.NearestNeighbor);
this.Frame.Navigate(typeof(RecognizingPage));
}
PS: Это действительно рабочая версия - я не буду использовать эту ширину и высоту.
Nokia имеет библиотеку изображений высокого разрешения (возможно, это может помочь вам): http://developer.nokia.com/resources/library/ Lumia/imaging/working-with-high-resolution-photos.html –
Спасибо, но «проблема с writeableBitmapEx» все еще здесь. В этой статье изображение загружается (и декодируется на меньший) BitmapImage. Я хотел бы загрузить его в WriteableBitmapEx. Есть ли простой и эффективный способ этого? WriteableBitmap не имеет DecodePixelWidth и Height :( –