bool mark = true;
        private void btnOpen_Click(object sender, EventArgs e)
        {
            mark = true;
      //动态创建WebBrowser控件
            WebBrowser webBrowser = new WebBrowser();
            webBrowser.Navigate(textBox1.Text);
            webBrowser.ScrollBarsEnabled = false;  //禁用滚动条
            webBrowser.ScriptErrorsSuppressed = false;  //禁用脚本错误
            webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
        }
       void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (!mark) return; //可能页面内含有多次请求,只执行一次
            WebBrowser webBrowser = (WebBrowser)sender;
     
       // 确认网页已经加载完毕
            while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }
            // 网页加载完毕才保存
            if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
            {
                // 获取网页高度和宽度,也可以自己设置
                int width = webBrowser.Document.Body.ScrollRectangle.Width < 1024 ? 1024 : webBrowser.Document.Body.ScrollRectangle.Width;
                int height = webBrowser.Document.Body.ScrollRectangle.Height < 768 ? 768 : webBrowser.Document.Body.ScrollRectangle.Height;                 // 调节webBrowser的高度和宽度 -- (只用动态创建的WebBrowser才可以修改其大小,不知道为什么)
                webBrowser.Height = height;
                webBrowser.Width = width;
                //滚动整个网页 设置此元素的上边缘或下边缘与此文档窗口对齐为止---这样可以截取网页滚动条中的内容
                webBrowser.Document.Body.ScrollIntoView(true); 
                Bitmap bitmap = new Bitmap(width, height);  // 创建高度和宽度与网页相同的图片
                Rectangle rectangle = new Rectangle(0, 0, width, height);  // 绘图区域
                webBrowser.DrawToBitmap(bitmap, rectangle);  // 截图                 // 保存图片
                bitmap.Save(@"D:/" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg");
                pictureBox1.Image = bitmap as Image;
            }
            mark = false;
        }

最新文章

  1. 好像越来越觉得 SharePoint &ldquo;难用&rdquo;了
  2. mac 安装jdk1.5
  3. 区分debug和release生成文件的名称
  4. ng-if ng-show ng-hide 的区别
  5. p范数(p norm)
  6. Drupal常用开发工具(一)——Devel模块
  7. Android(java)学习笔记131:Intent启动别的Activity
  8. 某Python群的入群题目
  9. Windows Phone 之下拉菜单ListPicker
  10. CMake 简单介绍
  11. [HNOI 2001]矩阵乘积
  12. day4 liaoxuefeng---模块
  13. 移动web前端开发时注意事项(转)
  14. 将JSON转换成MAP的工具类
  15. vue中修改了数据但视图无法更新的情况
  16. 如何用原生JS实现一个简单的promise
  17. javascript调用ActiveX接口失败的解决方案及使用心得
  18. MapGis如何实现WebGIS分布式大数据存储的
  19. 吴裕雄 数据挖掘与分析案例实战(13)——GBDT模型的应用
  20. python hash()和hashlib

热门文章

  1. 规约模式的ef拼接
  2. itext-2.1.7.jar
  3. Intellij IDEA 快速补全for循环:fori
  4. io操作的要素
  5. Unix shell输入输出重定向
  6. Node环境下实现less编译
  7. ffmpeg 从mp4上提取H264的nalu
  8. jsp页面运行的步骤以及原理
  9. ie 兼容
  10. LeetCode 中级 - 组合总和II(105)