我需要渲染一个 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();
似乎问题是一个僵局,但我无法找到解决方案
编辑:代码更新