c# - Lumia imaging sdk 3 blur effect issue (找不到组件。(Exception from HRESULT : 0x88982F50))

标签 c# windows-runtime windows-phone-8.1 winrt-xaml lumia-imaging-sdk

我需要渲染一个 xaml 元素并使用 LumiaImageSDK 3 应用模糊效果

            var bitmapRended = new RenderTargetBitmap();
            await bitmapRended.RenderAsync(LayoutRoot);

            IBuffer buffer = await bitmapRended.GetPixelsAsync();

            var target = new WriteableBitmap(bitmapRended.PixelWidth, bitmapRended.PixelHeight);
            var source = new BufferImageSource(buffer);
            var blur = new BlurEffect(source, 128);

            var renderer = new WriteableBitmapRenderer(blur, target);

            var result = await renderer.RenderAsync();

            var imgBrush = new ImageBrush();
            imgBrush.ImageSource = result;

            Menu.Background = imgBrush;

但是当我运行代码时出现这个错误:

The component cannot be found. (Exception from HRESULT: 0x88982F50)

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

我认为这与我将 RenderTargetBitmap 转换为 IRandomAccessStream 的方式有关。

异常是从这行代码引发的:var result = await renderer.RenderAsync();

看来问题是死锁,但我找不到解决方案

编辑:代码已更新

最佳答案

我在使用 Lumia Imaging SDK 时遇到了同样的问题。我还在检查这个问题。但是,要模糊图像,请使用 Win2D是另一种选择。

您上面的代码显示了如何将 XAML UIElement 呈现为 s 流或其他。然后您可以使用 Win2D 库对其进行模糊处理。我有 post简单地谈论如何做模糊的东西。

希望对您有所帮助。

关于c# - Lumia imaging sdk 3 blur effect issue (找不到组件。(Exception from HRESULT : 0x88982F50)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33149483/

相关文章:

c# - 您如何按照从最少到最多非零元素的顺序遍历排列?

javascript - 我看不出这个 WinJS.xhr 调用出了什么问题

c# - 使用 NavigateToLocalStreamUri 的 WebView 实际上并没有导航

c# - Lumia Imaging SDK v3 内存问题

c# - WinRT HttpClient 问题

c# - Windows Phone 8.1 媒体元素

c# - 游戏内货币转换问题

c# - 功能集合

c# - 单个 ViewModel 的多个 View

c# - Windows 应用商店应用中的 JavaScript 代码用 C# 编写