程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成網頁截圖功效

C#完成網頁截圖功效

編輯:C#入門知識

C#完成網頁截圖功效。本站提示廣大學習愛好者:(C#完成網頁截圖功效)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成網頁截圖功效正文


網頁截圖是很罕見的適用功效,明天就為年夜家同享一個完成閱讀器截圖的代碼,重要法式代碼以下所示:

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

感興致的讀者還可以依據本身項目需求進一步加以改良,使之功效加倍完美。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved