将html转化为JPG存档

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Threading;
using System.Web;
using System.Windows.Forms;

namespace NewProject.App_Start
{
    public class PrintPDF
    {

        / <summary>
        / 按钮按下事件处理函数
        / </summary>
        //private static void SaveSnapshot_Click()
        //{
        //    WebBrowser webBrowser = new WebBrowser();  // 创建一个WebBrowser
        //    webBrowser.ScrollBarsEnabled = false;  // 隐藏滚动条
        //    webBrowser.Navigate("https://www.etinbox.com/BussinessInfo/Index?bussinessLoanId=ZYB160003");  // 打开网页
        //    webBrowser.Width = 1500;
        //    webBrowser.Height = 900;
        //    webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);  // 增加网页加载完成事件处理函数
        //}


        / <summary>
        / 网页加载完成事件处理函数
        / </summary>
        / <param name="sender"></param>
        / <param name="e"></param>
        //static void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        //{
        //    WebBrowser webBrowser = (WebBrowser)sender;

        //    // 网页加载完毕才保存
        //    if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
        //    {
        //        // 获取网页高度和宽度,也可以自己设置
        //        int height = webBrowser.Document.Body.ScrollRectangle.Height;
        //        int width = webBrowser.Document.Body.ScrollRectangle.Width;
        //        width = 1500;
        //        height = 850;


        //        // 调节webBrowser的高度和宽度
        //        webBrowser.Height = height;
        //        webBrowser.Width = width;

        //        Bitmap bitmap = new Bitmap(width, height);  // 创建高度和宽度与网页相同的图片
        //        Rectangle rectangle = new Rectangle(0, 0, width, height);  // 绘图区域
        //        webBrowser.DrawToBitmap(bitmap, rectangle);  // 截图

        //        // 保存图片对话框
        //        SaveFileDialog saveFileDialog = new SaveFileDialog();
        //        saveFileDialog.Filter = "JPEG (*.jpg)|*.jpg|PNG (*.png)|*.png";
        //        saveFileDialog.ShowDialog();
        //        bitmap.Save(saveFileDialog.FileName);  // 保存图片
        //    }
        //}

        internal static string urlParam = null;

        static System.Windows.Forms.WebBrowser wb;

        internal static void SaveSnapshot_Click()
        {

            System.Threading.Thread t = new System.Threading.Thread(new ThreadStart(() =>
            {
                wb = new System.Windows.Forms.WebBrowser();
                wb.DocumentCompleted += wb_DocumentCompleted;
                //wb.Navigate("http://sz-dv-01:90/BussinessInfo/Index?bussinessLoanId=CTKJ160017");
                wb.Navigate("http://localhost/product");
                while (wb.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)
                {
                    System.Windows.Forms.Application.DoEvents(); //避免假死,若去掉则可能无法触发 DocumentCompleted 事件。
                }
            })
   );
            t.SetApartmentState(ApartmentState.STA);
            t.Start();

        }

        private static void wb_DocumentCompleted(object sender,
                                                 System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
        {
            WebBrowser webBrowser = (WebBrowser)sender;

            // 网页加载完毕才保存
            if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
            {
                // 获取网页高度和宽度,也可以自己设置
                int height = webBrowser.Document.Body.ScrollRectangle.Height;
                int width = webBrowser.Document.Body.ScrollRectangle.Width;
                width = 1500;
                height = 850;


                // 调节webBrowser的高度和宽度
                webBrowser.Height = height;
                webBrowser.Width = width;

                Bitmap bitmap = new Bitmap(width, height); // 创建高度和宽度与网页相同的图片
                Rectangle rectangle = new Rectangle(0, 0, width, height); // 绘图区域
                webBrowser.DrawToBitmap(bitmap, rectangle); // 截图

                // 保存图片对话框
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "JPEG (*.jpg)|*.jpg|PNG (*.png)|*.png";
                saveFileDialog.ShowDialog();
                bitmap.Save(saveFileDialog.FileName); // 保存图片
            }
            urlParam = null;
        }


    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值