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: これは実際に機能するバージョンです。この幅と高さは使用しません。