当我想从我的库中挑选照片并最初对这张照片做一些事情时,我想裁剪它并将其调整为 300x300。一切都很好,直到我选择了一张大照片。
当我选择一个大图像(10000x6000)时PhotoChooserTask
(从用户的角度来看)什么都不做,PhotoChooserTask
只是崩溃(不是应用程序)。然后,当我尝试选择另一个时,我得到了"Not allowed to call Show() multiple times before an invocation returns"
异常。
里面好像PhotoChooserTask
还有之前的对象,不知道怎么处理或者清除PhotoChooserTask
。
PS。无设置
chooser.PixelHeight = 300;
chooser.PixelWidth = 300;
照片将设置,一切正常。
PS2。
三星 ATIV S 没有问题。只有诺基亚 1320 ,520 和 530
PhotoChooserTask chooser = new PhotoChooserTask();
try
{
chooser.ShowCamera = true;
chooser.PixelHeight = 300;
chooser.PixelWidth = 300;
chooser.Completed += (s, result) =>
{
if (result.Error != null){ return; }
if (result.ChosenPhoto != null)
{
var bitmap = new BitmapImage();
bitmap.SetSource(result.ChosenPhoto);
Service.uploadPhoto(receiver, (ImageSource)bitmap);
}
};
chooser.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
当照片很大并且设置了高度时,调试器不会进入内部chooser.Completed