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

 

目录
相关文章
|
2月前
|
移动开发 前端开发 JavaScript
基于 HTML5 和 Canvas 开发的在线图片编辑器
基于 HTML5 和 Canvas 开发的在线图片编辑器
65 0
|
2天前
|
前端开发
Twaver-HTML5基础学习(37)network导出图片并下载
本文介绍了如何在Twaver-HTML5中将network导出为图片并提供下载,主要通过将network转换为canvas对象,然后转换为base64编码的图片进行展示和下载。
12 5
|
18天前
|
前端开发 Windows
【前端web入门第一天】02 HTML图片标签 超链接标签 音频标签 视频标签
本文档详细介绍了HTML中的图片、超链接、音频和视频标签的使用方法。首先讲解了`&lt;img&gt;`标签的基本用法及其属性,包括如何使用相对路径和绝对路径。接着介绍了`&lt;a&gt;`标签,用于创建超链接,并展示了如何设置目标页面打开方式。最后,文档还涵盖了如何在网页中嵌入音频和视频文件,包括简化写法及常用属性。
32 13
|
27天前
在线将多张图片拼接起来图工具HTML源码
在线将多张图片拼接成一张图片,多图合一并导出下载。无需本地安装软件。 下载时,使用日期时间作为文件名,规避图片文件名相同造成的覆盖问题;也能省去一部覆盖确认操作 多语言支持
28 0
在线将多张图片拼接起来图工具HTML源码
|
1月前
|
Python
Python 下载 html 中的 图片
Python 下载 html 中的 图片
24 2
|
4月前
|
移动开发
uni-app使用v-html输出富文本图片溢出解决
uni-app使用v-html输出富文本图片溢出解决
478 1
|
2月前
|
数据采集 缓存 自然语言处理
PHP将HTML标签转化为图片
通过这个方法,PHP后端能够实现将HTML内容转化为图片的功能。这种方式虽然牵涉到一些额外的安装和配置,但能够相对灵活且稳定地解冀转换需求,适用于需要在后端动态生成图片的场景。
61 1
|
2月前
|
JavaScript 前端开发 CDN
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
30 0
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
|
3月前
|
移动开发 前端开发 JavaScript
将HTML5 Canvas的内容保存为图片
将HTML5 Canvas的内容保存为图片
30 5
|
3月前
|
前端开发 UED SEO
HTML基础-链接与图片插入:网页的连接与视觉元素
【6月更文挑战第2天】本文介绍了HTML中`<a>`和`<img>`标签的使用,包括链接的基本结构、目标类型以及图片的插入、尺寸调整和对齐方式。常见问题涉及链接和图片路径、缺失`alt`属性及尺寸不匹配,解决方案包括正确引用资源、使用绝对URL和重视`alt`属性。通过示例代码,展示了创建链接和图片的方法,强调了提升网页用户体验的重要性。
53 3