3
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 :이 정말 작업 버전입니다 -이 너비와 높이를 사용하지 않습니다.
노키아는 높은 해상도 이미지 라이브러리를 (어쩌면이 당신을 도울 수)이 있습니다 http://developer.nokia.com/resources/library/ Lumia/imaging/working-with-high-resolution-photos.html –
고맙겠습니다. 그러나 "writeableBitmapEx 문제"가 여전히 여기에 있습니다. 이 기사에서는 이미지가로드되고 더 작은 BitmapImage로 디코딩됩니다. WriteableBitmapEx에로드하고 싶습니다. 이것에 쉽고 효율적인 방법이 있습니까? WriteableBitmap에 DecodePixelWidth 및 Height가 없습니다. –