我正在尝试使用以下代码截取Webview控件的屏幕截图:
async Task<RenderTargetBitmap> CaptureToStreamAsync(FrameworkElement uielement, IRandomAccessStream stream, Guid encoderId)
{
try
{
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(uielement);
var pixels = await renderTargetBitmap.GetPixelsAsync();
var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
var encoder = await BitmapEncoder.CreateAsync(encoderId, stream);
encoder.SetPixelData(
BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Ignore,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
logicalDpi,
logicalDpi,
pixels.ToArray());
await encoder.FlushAsync();
return renderTargetBitmap;
}
catch (Exception ex)
{
DisplayMessage(ex.Message);
}
return null;
}
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(RenderedGrid);
RenderedImage.Source = renderTargetBitmap;
但是我得到的是空白图像。它适用于所有其他控件。请帮忙!
无法使用 RenderTargetBitmap 进行捕获,但您可以使用: CapturePreviewToStreamAsync
WebView.CapturePreviewToStreamAsync 方法
另请查看 Web View 的示例:
XAML 网页视图控件示例
无法
在 Windows Phone 上捕获 Web 视图的屏幕截图。请参阅以下链接:
渲染目标位图的限制