2017-10-21 61 views

回答

4

當然,這段代碼做到這一點:

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; 
} 

做這樣的,如果你想顯示SoftwareBitmapImage控制:

var softwareBitmap = await CreateSoftwareBitmap(MyXamlControl); 
var source = new SoftwareBitmapSource(); 

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