我正在使用 Lumia Imaging SDK 2.0 版在 Windows Phone 8.1 RT 应用程序中裁剪图像。代码工作正常,但JpegRenderer.RenderAsync()
有时会抛出InvalidOperationException, Operation is not valid due to the current state of the object.
每次使用一些图像都会重现该问题,并使应用程序崩溃。我使用以下代码进行裁剪:
using (StorageFileImageSource inputImageSource = new StorageFileImageSource(inputImageFile))
{
using (FilterEffect filterEffect = new FilterEffect(inputImageSource))
{
// Create cropping filter.
List<IFilter> filters = new List<IFilter>();
CropFilter cropFilter = new CropFilter(croppedImageSize);
filters.Add(cropFilter);
// Add filters to effects.
filterEffect.Filters = filters;
// Create renderer with above filters and render new image.
using (JpegRenderer renderer = new JpegRenderer(filterEffect))
{
IBuffer croppedImage = await renderer.RenderAsync();
return croppedImage.ToArray();
}
}
}
我提到了这个资源,它说在渲染过程中过滤器属性值发生变化时JpegRenderer.RenderAsync()
抛出。InvalidOperationException
一旦设置了属性的值,我就不会更改它,那么为什么会抛出异常?