最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實現(xiàn)網(wǎng)頁截圖功能

 更新時間:2014年08月19日 16:02:24   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)網(wǎng)頁截圖功能,是非常實用的一個功能,需要的朋友可以參考下

網(wǎng)頁截圖是很常見的實用功能,今天就為大家共享一個實現(xiàn)瀏覽器截圖的代碼,主要程序代碼如下所示:

private void Form_Load(object sender, EventArgs e)
{
  //接收web url
  string colle = string.Empty;
  string url = string.Empty;
  //獲取進程調(diào)用傳入的命令
  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(); // 創(chuàng)建一個WebBrowser
  webBrowser.ScrollBarsEnabled = false; // 隱藏滾動條
  webBrowser.Navigate(url); // 打開網(wǎng)頁
  webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted); // 增加網(wǎng)頁加載完成事件處理函數(shù)
}
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  WebBrowser webBrowser = (WebBrowser)sender;
  // 網(wǎng)頁加載完畢才保存
  if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
  {
 bool save_suc = true;
 try
 {
   // 獲取網(wǎng)頁高度和寬度,也可以自己設(shè)置
   int height = webBrowser.Document.Body.ScrollRectangle.Height;
   int width = webBrowser.Document.Body.ScrollRectangle.Width;

   //截圖寬度、高度
   int imgwidth = width - 2 * 60;
   int imgheight = height - 48;

   // 調(diào)節(jié)webBrowser的高度和寬度
   webBrowser.Height = height;
   webBrowser.Width = width;

   Bitmap bitmap = new Bitmap(width, height); // 創(chuàng)建高度和寬度與網(wǎng)頁相同的圖片
   Rectangle rectangle = new Rectangle(0, 0, width, height); // 繪圖區(qū)域
   //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);//創(chuàng)建Image
   System.Drawing.Graphics gp = System.Drawing.Graphics.FromImage(Imag);//獲取Image的Graphics

   //通過Graphics繪圖實現(xiàn)截圖效果
   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);

感興趣的讀者還可以根據(jù)自身項目需求進一步加以改進,使之功能更加完善。

相關(guān)文章

  • C#使用post發(fā)送和接收數(shù)據(jù)的方法

    C#使用post發(fā)送和接收數(shù)據(jù)的方法

    這篇文章主要介紹了C#使用post發(fā)送和接收數(shù)據(jù)的方法,涉及C#使用post收發(fā)數(shù)據(jù)的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • C#中DataGridView的樣式

    C#中DataGridView的樣式

    這篇文章主要介紹了C#中DataGridView的樣式設(shè)置方法,包括交替行顏色、單元格內(nèi)容有效性檢查、單元格的選擇模式等,需要的朋友可以參考下
    2015-02-02
  • c# 基于Titanium爬取微信公眾號歷史文章列表

    c# 基于Titanium爬取微信公眾號歷史文章列表

    這篇文章主要介紹了c# 基于Titanium爬取微信公眾號歷史文章列表,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#多維數(shù)組學習使用

    C#多維數(shù)組學習使用

    當下, 由于存儲結(jié)構(gòu)需要, 用多維數(shù)組, 順便學習了一下, 將學習經(jīng)過備忘如下
    2012-09-09
  • c# 如何用組合替代繼承

    c# 如何用組合替代繼承

    這篇文章主要介紹了c# 如何用組合替代繼承,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-02-02
  • Unity性能優(yōu)化Shader函數(shù)ShaderUtil.GetShaderGlobalKeywords用法示例

    Unity性能優(yōu)化Shader函數(shù)ShaderUtil.GetShaderGlobalKeywords用法示例

    這篇文章主要為大家介紹了Unity性能優(yōu)化Shader函數(shù)ShaderUtil.GetShaderGlobalKeywords用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • c# 模擬線性回歸的示例

    c# 模擬線性回歸的示例

    這篇文章主要介紹了c# 模擬線性回歸的示例,幫助大家利用c#進行機器學習,感興趣的朋友可以了解下
    2020-10-10
  • C#中的正則表達式介紹

    C#中的正則表達式介紹

    關(guān)于正則表達式,我們都知道挺繁瑣的。本文介紹的是C#中的正則表達式,希望對你有幫助,一起來看。
    2015-10-10
  • c#動態(tài)類型,及動態(tài)對象的創(chuàng)建,合并2個對象,map實例

    c#動態(tài)類型,及動態(tài)對象的創(chuàng)建,合并2個對象,map實例

    下面小編就為大家?guī)硪黄猚#動態(tài)類型,及動態(tài)對象的創(chuàng)建,合并2個對象,map實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • c# RPC框架的使用簡介

    c# RPC框架的使用簡介

    這篇文章主要介紹了c# RPC框架的使用簡介,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-02-02

最新評論

调兵山市| 安乡县| 旌德县| 陆川县| 青阳县| 咸宁市| 嘉义县| 彩票| 名山县| 科技| 江源县| 固镇县| 彰化县| 怀化市| 乌兰察布市| 灌阳县| 繁峙县| 同仁县| 璧山县| 贞丰县| 中方县| 乳源| 颍上县| 马尔康县| 神农架林区| 隆化县| 平乡县| 九寨沟县| 化德县| 钟山县| 丰镇市| 丹东市| 富顺县| 冕宁县| 馆陶县| 冀州市| 长岛县| 福海县| 汉沽区| 景宁| 宝坻区|