C# WebBrowser的DrawToBitmap方法 截取網頁保存為圖片


     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;         }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM