我正在尝试从 FileOpenPicker 加载图像并将其保存到 WritableBitmap 以便以后使用。它可以工作,但是当我加载高分辨率图像(例如 jpg 2592x3888 )时,我的应用程序崩溃了。而且处理大图像需要很长时间。所以我的问题是:我在这里做错了什么?最好的方法是什么?
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:这确实是一个工作版本 - 我不会使用这个宽度和高度。