C#實現網頁截圖功能
阿新 • • 發佈:2017-11-14
jpeg near http 集合類 pri eve display aging img
C#實現網頁截圖功能
本文地址: http://www.paobuke.com/develop/c-develop/pbk23649.html
C#使用foreach語句遍歷集合類型的方法C#通過域名獲得IP地址的方法C#中的try catch finally用法分析 C#實現Log4Net日誌分類和自動維護實例
網頁截圖是很常見的實用功能,今天就為大家共享一個實現瀏覽器截圖的代碼,主要程序代碼如下所示:
private void Form_Load(object sender, EventArgs e) { //接收web url string colle = string.Empty; string url = string.Empty; //獲取進程調用傳入的命令 string[] args = Environment.GetCommandLineArgs(); string[] args = new string[] { @"E:\MicroSpace\MicroSpace\localpage\Debug\GetCutImage.exe", "-u:http://sliefj.com/template/amo.html","-n:E:\\TEST\\test.jpg" }; for (int i = 1; i < args.Length; i++) { switch (args[i].Substring(0, 3)) { case "-u:": url = args[i].Substring(3); break; case "-n:": imagename = args[i].Substring(3); break; default: colle = args[i]; break; } } WebBrowser webBrowser = new WebBrowser(); // 創建一個WebBrowser webBrowser.ScrollBarsEnabled = false; // 隱藏滾動條 webBrowser.Navigate(url); // 打開網頁 webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted); // 增加網頁加載完成事件處理函數 } private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { WebBrowser webBrowser = (WebBrowser)sender; // 網頁加載完畢才保存 if (webBrowser.ReadyState == WebBrowserReadyState.Complete) { bool save_suc = true; try { // 獲取網頁高度和寬度,也可以自己設置 int height = webBrowser.Document.Body.ScrollRectangle.Height; int width = webBrowser.Document.Body.ScrollRectangle.Width; //截圖寬度、高度 int imgwidth = width - 2 * 60; int imgheight = height - 48; // 調節webBrowser的高度和寬度 webBrowser.Height = height; webBrowser.Width = width; Bitmap bitmap = new Bitmap(width, height); // 創建高度和寬度與網頁相同的圖片 Rectangle rectangle = new Rectangle(0, 0, width, height); // 繪圖區域 //Rectangle mm=new Rectangle( webBrowser.DrawToBitmap(bitmap, rectangle); // 繪制瀏覽器圖片至bitmap int bmpw = bitmap.Width; int bmph = bitmap.Height; System.Drawing.Image Imag = new System.Drawing.Bitmap(imgwidth, imgheight);//創建Image System.Drawing.Graphics gp = System.Drawing.Graphics.FromImage(Imag);//獲取Image的Graphics //通過Graphics繪圖實現截圖效果 gp.DrawImage(bitmap,new Rectangle(0,0,imgwidth,imgheight),new Rectangle(60,48,imgwidth,imgheight),GraphicsUnit.Pixel); //保存 Imag.Save(imagename, System.Drawing.Imaging.ImageFormat.Jpeg); //bitmap.Save(imagename, System.Drawing.Imaging.ImageFormat.Jpeg); bitmap.Dispose(); gp.Dispose(); Imag.Dispose(); } catch (Exception ex) { } finally { this.Dispose(true); System.Diagnostics.Process.GetCurrentProcess().Kill(); this.Close(); Application.Exit(); } } } //圖片保存方式 //imagename 圖片路徑 bitmap.Save(imagename, System.Drawing.Imaging.ImageFormat.Jpeg); Image.Save(imagename, System.Drawing.Imaging.ImageFormat.Jpeg);
感興趣的讀者還可以根據自身項目需求進一步加以改進,使之功能更加完善。
除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址C#實現網頁截圖功能
本文地址: http://www.paobuke.com/develop/c-develop/pbk23649.html
相關內容
C#編程調用Cards.dll實現圖形化發牌功能示例用Newtonsoft將json串轉為對象的方法(詳解)C#操作數據庫中存取圖片文件的方法C# readnodefile()不能讀取帶有文件名為漢字的osg文件解決方法C#使用foreach語句遍歷集合類型的方法C#通過域名獲得IP地址的方法C#中的try catch finally用法分析
C#實現網頁截圖功能