诺基亚映像 SDK 1.2:将滤镜应用于可写位图



我一直在尝试将诺基亚映像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();

封面上的ToByteArray()扩展方法(这是一个WriteableBitmap)由WriteableBitmapEx库提供。

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

你在渲染器中得到一个异常。RenderAsync(),因为您没有设置 WriteableBitmapRenderer 的 WriteableBitmap 属性。

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

最新更新