WebSnapshotsHelper(HTML转换为图片)

简介: 1 /// 2 /// WebBrowser Url生成图片 3 /// HTML转图片 4 /// 5 public class WebSnapshotsHelper 6 { 7 Bitmap m_Bitm...
 1 /// <summary>
 2     /// WebBrowser Url生成图片
 3     /// HTML转图片
 4     /// </summary>
 5     public class WebSnapshotsHelper
 6     {
 7         Bitmap m_Bitmap;
 8         string m_Url;
 9         int m_BrowserWidth, m_BrowserHeight, m_ThumbnailWidth, m_ThumbnailHeight;
10         public WebSnapshotsHelper(string Url, int BrowserWidth, int BrowserHeight, int ThumbnailWidth, int ThumbnailHeight)
11         {
12             m_Url = Url;
13             m_BrowserHeight = BrowserHeight;
14             m_BrowserWidth = BrowserWidth;
15             m_ThumbnailWidth = ThumbnailWidth;
16             m_ThumbnailHeight = ThumbnailHeight;
17         }
18         public static Bitmap GetWebSiteThumbnail(string Url, int BrowserWidth, int BrowserHeight, int ThumbnailWidth, int ThumbnailHeight)
19         {
20             WebSnapshotsHelper thumbnailGenerator = new WebSnapshotsHelper(Url, BrowserWidth, BrowserHeight, ThumbnailWidth, ThumbnailHeight);
21             return thumbnailGenerator.GenerateWebSiteThumbnailImage();
22         }
23         public Bitmap GenerateWebSiteThumbnailImage()
24         {
25             Thread m_thread = new Thread(new ThreadStart(_GenerateWebSiteThumbnailImage));
26             m_thread.SetApartmentState(ApartmentState.STA);
27             m_thread.Start();
28             m_thread.Join();
29             return m_Bitmap;
30         }
31         private void _GenerateWebSiteThumbnailImage()
32         {
33             WebBrowser m_WebBrowser = new WebBrowser();
34             m_WebBrowser.ScrollBarsEnabled = false;
35             m_WebBrowser.Navigate(m_Url);
36             m_WebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);
37             while (m_WebBrowser.ReadyState != WebBrowserReadyState.Complete)
38             {
39                 Application.DoEvents();
40             }
41             m_WebBrowser.Dispose();
42         }
43         private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
44         {
45             WebBrowser m_WebBrowser = (WebBrowser)sender;
46             m_WebBrowser.ClientSize = new Size(this.m_BrowserWidth, this.m_BrowserHeight);
47             m_WebBrowser.ScrollBarsEnabled = false;
48             m_Bitmap = new Bitmap(m_WebBrowser.Bounds.Width, m_WebBrowser.Bounds.Height);
49             m_WebBrowser.BringToFront();
50             m_WebBrowser.DrawToBitmap(m_Bitmap, m_WebBrowser.Bounds);
51             m_Bitmap = (Bitmap)m_Bitmap.GetThumbnailImage(m_ThumbnailWidth, m_ThumbnailHeight, null, IntPtr.Zero);
52         }
53 
54     }
View Code

 

目录
相关文章
|
1月前
利用html2canvas插件自定义生成名片信息并保存图片
这是一个利用html2canvas插件自定义生成名片信息并保存图片,自定义上传头像,自定义输入个人信息内容,自定义图片名称,并将生成的图片保存到本地
38 1
利用html2canvas插件自定义生成名片信息并保存图片
|
5月前
|
移动开发 前端开发 JavaScript
基于 HTML5 和 Canvas 开发的在线图片编辑器
基于 HTML5 和 Canvas 开发的在线图片编辑器
112 0
|
2月前
HTML图片
【10月更文挑战第4天】HTML图片。
32 2
|
3月前
|
前端开发
Twaver-HTML5基础学习(37)network导出图片并下载
本文介绍了如何在Twaver-HTML5中将network导出为图片并提供下载,主要通过将network转换为canvas对象,然后转换为base64编码的图片进行展示和下载。
44 5
|
3月前
|
前端开发 Windows
【前端web入门第一天】02 HTML图片标签 超链接标签 音频标签 视频标签
本文档详细介绍了HTML中的图片、超链接、音频和视频标签的使用方法。首先讲解了`&lt;img&gt;`标签的基本用法及其属性,包括如何使用相对路径和绝对路径。接着介绍了`&lt;a&gt;`标签,用于创建超链接,并展示了如何设置目标页面打开方式。最后,文档还涵盖了如何在网页中嵌入音频和视频文件,包括简化写法及常用属性。
60 13
|
7月前
|
移动开发
uni-app使用v-html输出富文本图片溢出解决
uni-app使用v-html输出富文本图片溢出解决
694 1
|
4月前
在线将多张图片拼接起来图工具HTML源码
在线将多张图片拼接成一张图片,多图合一并导出下载。无需本地安装软件。 下载时,使用日期时间作为文件名,规避图片文件名相同造成的覆盖问题;也能省去一部覆盖确认操作 多语言支持
50 0
在线将多张图片拼接起来图工具HTML源码
|
4月前
|
Python
Python 下载 html 中的 图片
Python 下载 html 中的 图片
38 2
|
5月前
|
数据采集 缓存 自然语言处理
PHP将HTML标签转化为图片
通过这个方法,PHP后端能够实现将HTML内容转化为图片的功能。这种方式虽然牵涉到一些额外的安装和配置,但能够相对灵活且稳定地解冀转换需求,适用于需要在后端动态生成图片的场景。
229 1
|
5月前
|
JavaScript 前端开发 CDN
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
131 0
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
下一篇
DataWorks