2015-10-28 54 views

回答

0

随着Control.DrawToBitmap你可以捕捉一个表单,这是你正在寻找的“应用程序”。

+0

它不工作 – CraigTayor

+0

这确实是不幸的。我自己相信很多年前曾经在Windows Forms应用程序中使用它。我搜索了这个函数,并且确实发现它并不适用于所有事情,并且有很多方法。然而,我将不会发布他们,因为Rob有一个很好的答案来帮助OP。 –

1
private async Task SaveVisualElementToFile(FrameworkElement element, StorageFile file) 
    { 
     var renderTargetBitmap = new RenderTargetBitmap(); 
     await renderTargetBitmap.RenderAsync(element); 
     var pixels = await renderTargetBitmap.GetPixelsAsync(); 

     using (var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite)) 
     { 
      var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, fileStream); 
      encoder.SetPixelData(
       BitmapPixelFormat.Bgra8, 
       BitmapAlphaMode.Ignore, 
       (uint)renderTargetBitmap.PixelWidth, 
       (uint)renderTargetBitmap.PixelHeight, 
       DisplayInformation.GetForCurrentView().LogicalDpi, 
       DisplayInformation.GetForCurrentView().LogicalDpi, 
       pixels.ToArray()); 
      await encoder.FlushAsync(); 
     } 
    } 
相关问题