0

我一直在尝试将 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()扩展方法(即 a WriteableBitmap)由 WriteableBitmapEx 库提供。

有没有人有同样的问题?

4

1 回答 1

1

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

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

于 2014-04-07T06:11:53.283 回答