Uwp 将XAML对象转换为软件位图

Uwp 将XAML对象转换为软件位图,uwp,uwp-xaml,Uwp,Uwp Xaml,我在XAML中有一些控件,我想将其转换为软件位图。这是可能的吗?当然,此代码正是这样做的: static async Task<SoftwareBitmap> CreateSoftwareBitmap(FrameworkElement uielement) { var renderTargetBitmap = new RenderTargetBitmap(); await renderTargetBitmap.RenderAsync(uielement);

我在XAML中有一些控件,我想将其转换为
软件位图
。这是可能的吗?

当然,此代码正是这样做的:

static async Task<SoftwareBitmap> CreateSoftwareBitmap(FrameworkElement uielement)
{
    var renderTargetBitmap = new RenderTargetBitmap();
    await renderTargetBitmap.RenderAsync(uielement);

    IBuffer pixels = await renderTargetBitmap.GetPixelsAsync();
    var bitmap = SoftwareBitmap.CreateCopyFromBuffer(pixels,
                                                     BitmapPixelFormat.Bgra8,
                                                     renderTargetBitmap.PixelWidth,
                                                     renderTargetBitmap.PixelHeight,
                                                     BitmapAlphaMode.Premultiplied);
    return bitmap;
}
var softwareBitmap = await CreateSoftwareBitmap(MyXamlControl);
var source = new SoftwareBitmapSource();

await source.SetBitmapAsync(softwareBitmap);
MyImageControl.Source = source;