专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C# WebBrowser的DrawToBitmap方法 截取网页保存为图片

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:40:27       共计:3600 浏览

 mark = true;
            //动态创建WebBrowser控件
            WebBrowser webBrowser = new WebBrowser();
            webBrowser.Navigate("http://www.zybw.com");
            webBrowser.ScrollBarsEnabled = false;  //禁用滚动条
            webBrowser.ScriptErrorsSuppressed = false;  //禁用脚本错误
            webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);

static 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;
        }
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:.NetCore如何使用ImageSharp进行图片的生成 | ·下一条:C# WebBrowser保存页面为图片

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有