Nokia Imaging SDK 1.2:将过滤器应用于WriteableBitmap

时间:2014-04-06 17:21:36

标签: c# windows-phone-8 nokia-imaging-sdk lumia-imaging-sdk

我一直在尝试将Nokias Imaging SDK中的过滤器应用到WriteableBitmap。到目前为止,我没有任何成功。我得到的“最好的”是以下内容,它在renderer.RenderAsync()

上崩溃
MemoryStream stream = new MemoryStream(App.MainViewModel.Current.Album.Cover.ToByteArray());
StreamImageSource streamImage = new StreamImageSource(stream);
FilterEffect filters = new FilterEffect(streamImage);
WriteableBitmapRenderer renderer = new WriteableBitmapRenderer(filters);

BlurFilter blurFilter = new BlurFilter();
filters.Filters = new[] { blurFilter };
var result = await renderer.RenderAsync();

Cover上的ToByteArray()扩展方法(WriteableBitmap)由WriteableBitmapEx库提供。

有没有人遇到同样的问题?

1 个答案:

答案 0 :(得分:1)

您在renderer.RenderAsync()中遇到异常,因为您没有设置WriteableBitmapRenderer的WriteableBitmap属性。

WriteableBitmapRenderer无法为您创建WriteableBitmap,因为它需要在UI线程上创建。因此,您必须自己创建它并将其传递给渲染器对象(在构造函数中或通过设置属性)。