博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebSnapshotsHelper(HTML转换为图片)
阅读量:6250 次
发布时间:2019-06-22

本文共 2559 字,大约阅读时间需要 8 分钟。

1 ///  2     /// WebBrowser Url生成图片 3     /// HTML转图片 4     ///  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

 

转载地址:http://hmgia.baihongyu.com/

你可能感兴趣的文章
Linux常用命令大全
查看>>
开发自动化系列 工具集(三) 数据库开发工具
查看>>
阿里云-Xshell连接
查看>>
Android Studio 错误 Application Installation Failed...INSTALL_FAILED_INVALID_APK…
查看>>
操作系统--基本概念
查看>>
Redis中的跳跃表
查看>>
Query And Fetch & Query Then Fetch & DFS Query And Fetch & DFS Query Then Fetch
查看>>
搭建 Java Web 开发环境
查看>>
如何在Linux(CentOS 7)命令行模式安装VMware Tools
查看>>
记录下学习Go语言时用到的一些项目
查看>>
phonegap分享到微信插件(iOS版)
查看>>
Flex端使用alivepdf直接导出PDF文件:测试中文有乱码
查看>>
rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较
查看>>
Kafka 设计与原理详解
查看>>
Nginx运维管理脚本
查看>>
Git常用命令
查看>>
深入理解CNN的细节
查看>>
切换到根目录
查看>>
程序入口-UIApplicationMain
查看>>
Git常用命令
查看>>