CapturePreviewToStreamAsaync方法可以将WebView当前所呈现的内容保存到字节流中,以做进一步处理,如保存为图像文件。
读者要注意的是,CapturePreviewToStreamAsync方法只能捕捉WebView中可见的那部分内容,如果HTML内容较多,WebView需要滚动才能看全部内容时,只有已经在WebView控件上呈现出来的那部分内容才会被捕捉到,其他不可见的内容将被忽略。
下面示例使用CapturePreviewToStreamAsuync捕捉WebView中的内容,然后在Image控件中显示已捕捉的数据。
应用程序主页的XAML代码如下:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="3*"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<WebView x:Name="wv"/>
<Button Grid.Row="1" Content="将 HTML 内容保存为图片" Tapped="Button_Tapped"/>
<Image x:Name="img" Grid.Row="2"/>