博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html转图片
阅读量:6567 次
发布时间:2019-06-24

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

using System.IO;using System.Drawing;using System.Threading;using System.Windows.Forms;public class WebSiteThumbnail{    Bitmap m_Bitmap;    string m_Url;    int m_BrowserWidth, m_BrowserHeight, m_ThumbnailWidth, m_ThumbnailHeight;    public WebSiteThumbnail(string Url, int BrowserWidth, int BrowserHeight, int ThumbnailWidth, int ThumbnailHeight)    {        m_Url = Url;        m_BrowserHeight = BrowserHeight;        m_BrowserWidth = BrowserWidth;        m_ThumbnailWidth = ThumbnailWidth;        m_ThumbnailHeight = ThumbnailHeight;    }    public static Bitmap GetWebSiteThumbnail(string Url, int BrowserWidth, int BrowserHeight, int ThumbnailWidth, int ThumbnailHeight)    {        WebSiteThumbnail thumbnailGenerator = new WebSiteThumbnail(Url, BrowserWidth, BrowserHeight, ThumbnailWidth, ThumbnailHeight);        return thumbnailGenerator.GenerateWebSiteThumbnailImage();    }    public Bitmap GenerateWebSiteThumbnailImage()    {        Thread m_thread = new Thread(new ThreadStart(_GenerateWebSiteThumbnailImage));        m_thread.SetApartmentState(ApartmentState.STA);        m_thread.Start();        m_thread.Join();        return m_Bitmap;    }    private void _GenerateWebSiteThumbnailImage()    {        WebBrowser m_WebBrowser = new WebBrowser();        m_WebBrowser.ScrollBarsEnabled = false;        m_WebBrowser.Navigate(m_Url);        m_WebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);        while (m_WebBrowser.ReadyState != WebBrowserReadyState.Complete)            Application.DoEvents();        m_WebBrowser.Dispose();    }    private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)    {        WebBrowser m_WebBrowser = (WebBrowser)sender;        m_WebBrowser.ClientSize = new Size(this.m_BrowserWidth, this.m_BrowserHeight);        m_WebBrowser.ScrollBarsEnabled = false;        m_Bitmap = new Bitmap(m_WebBrowser.Bounds.Width, m_WebBrowser.Bounds.Height);        m_WebBrowser.BringToFront();        m_WebBrowser.DrawToBitmap(m_Bitmap, m_WebBrowser.Bounds);        m_Bitmap = (Bitmap)m_Bitmap.GetThumbnailImage(m_ThumbnailWidth, m_ThumbnailHeight, null, IntPtr.Zero);    }}    Bitmap m_Bitmap = WebSiteThumbnail.GetWebSiteThumbnail("这里是html的连接地址", 990, 2798, 990, 2798);    MemoryStream ms = new MemoryStream();    m_Bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);//JPG、GIF、PNG等均可    byte[] buff = ms.ToArray();    Response.BinaryWrite(buff);    System.Drawing.Image img = byteArrayToImage(buff);    string url = "图片保存路径.png";    img.Save(HttpContext.Current.Server.MapPath(url));

 

转载于:https://www.cnblogs.com/wuxl360/p/5422328.html

你可能感兴趣的文章
Android L 新特性
查看>>
学习笔记第十七节课
查看>>
Python 爬取图片链接并且解析
查看>>
初学图论-Bellman-Ford单源最短路径算法
查看>>
初学算法-快速排序与线性时间选择(Deterministic Selection)的C++实现
查看>>
NFS网络文件系统
查看>>
SSH远程管理(用户登录控制及密码验证)
查看>>
java常用类型转换
查看>>
划分vlan,制作trunk口。使同一vlan能互相通讯
查看>>
地理信息系统控件GIS控件TatukGIS Developer Kernel 下载及介绍
查看>>
VIM的snipMate的继承设置
查看>>
云HBase发布全文索引服务,轻松应对复杂查询
查看>>
DNS
查看>>
小清新简约风个人简历PPT模板
查看>>
深度剖析数据在内存中的存储1——数据类型
查看>>
深度剖析数据在内存中的存储2——浮点数数在内存中的存储
查看>>
进行将多张CAD图纸转换成高清WMF格式的操作是什么?
查看>>
如何在三个月学习三年的生活经验
查看>>
简单的dns解析过程
查看>>
web前端开发怎么学,web教程资源
查看>>