相关文章推荐
俊逸的热带鱼  ·  iOS -- ...·  1 周前    · 
讲道义的黄瓜  ·  H5 IOS ...·  1 周前    · 
神勇威武的斑马  ·  mac kafka ...·  1 年前    · 
这篇博客介绍了如何使用UWP中的WebView控件的CapturePreviewToStreamAsync方法将HTML内容捕获为图像。方法只能捕获WebView当前显示的部分,无法获取滚动后的隐藏内容。示例展示了如何将捕获的HTML内容在Image控件中显示,并提供了保存为本地图片的代码片段。 摘要由CSDN通过智能技术生成

CapturePreviewToStreamAsaync方法可以将WebView当前所呈现的内容保存到字节流中,以做进一步处理,如保存为图像文件。

读者要注意的是,CapturePreviewToStreamAsync方法只能捕捉WebView中可见的那部分内容,如果HTML内容较多,WebView需要滚动才能看全部内容时,只有已经在WebView控件上呈现出来的那部分内容才会被捕捉到,其他不可见的内容将被忽略。

下面示例使用CapturePreviewToStreamAsuync捕捉WebView中的内容,然后在Image控件中显示已捕捉的数据。

应用程序主页的XAML代码如下:

<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"/>
- (BOOL) webView :(UI WebView *) webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UI WebView NavigationType)navigationType     NSLog(@"%@",request.URL.relativeString );
<br />先定义三个重要的类NativeMethods、UnsafeNativeMethods和Snapshot: NativeMethods.cs: 程序代码using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Drawing; namespace WindowsApplication1
1、本例子需要下载Microsoft.Web. WebView 2 WebView 2.Runtime.X64或者​​​​​​ WebView 2.Runtime.X86引用库: webview 2运行库这样放置: 代码如下: 上述代码解决了2个常见问题:(1)this. webView 21. Core WebView 2的值一直是null,这是没有运行库导致(2)内部跳转,网上说的没有一个完整,正确方式如上图要加个 e.NewWindow.Navigate(e.Uri);不然跳转后空窗口啥也没有。亲测通过,绝对原创。..
RAD Studio 10.4.1的TEdgeBrowser与javascript交互-基于Chromium的Edge浏览器控件用法之二 现在delphi在服务器有了TEdgeBrowser可以很方便的与javascript相互沟通了,这都得益于基于Chromium的Microsoft Edge浏览器不仅如此,delphi的桌面c/s多层分布式应用程序的客户端,TEdgeBrowser也可以让Edge浏览器很通畅的访问Bootstrap响应式H5页面,再也不会走形变样啦。