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

c#完成winform屏幕截圖並保留的示例

編輯:C#入門知識

c#完成winform屏幕截圖並保留的示例。本站提示廣大學習愛好者:(c#完成winform屏幕截圖並保留的示例)文章只能為提供參考,不一定能成為您想要的結果。以下是c#完成winform屏幕截圖並保留的示例正文



using System.Runtime.InteropServices;
using System.Drawing.Imaging;
    [System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
    private static extern bool BitBlt(

                    IntPtr hdcDest,   //   目的   DC的句柄  
                    int nXDest,
                    int nYDest,
                    int nWidth,
                    int nHeight,
                    IntPtr hdcSrc,     //   源DC的句柄  
                    int nXSrc,
                    int nYSrc,
                    System.Int32 dwRop     //   光柵的處置數值  
                      );
  private   void   button1_Click(object   sender,   System.EventArgs   e)  
  {  
  //取得以後屏幕的年夜小
  Rectangle   rect   =   new   Rectangle   (   )   ;  
  rect   =   Screen.GetWorkingArea   (   this   )   ;  
  //創立一個以以後屏幕為模板的圖像  
  Graphics   g1   =   this.CreateGraphics   (   )   ;  
  //創立以屏幕年夜小為尺度的位圖    
  Image   MyImage   =   new   Bitmap   (   rect.Width   ,   rect.Height   ,   g1   )   ;  
  Graphics   g2   =   Graphics.FromImage   (   MyImage   )   ;  
  //獲得屏幕的DC  
  IntPtr   dc1   =   g1.GetHdc   (   )   ;  
  //獲得Bitmap的DC    
  IntPtr   dc2   =   g2.GetHdc   (   )   ;  
  //挪用此API函數,完成屏幕捕捉  
  BitBlt   (   dc2   ,   0   ,   0   ,   rect.Width   ,   rect.Height   ,   dc1   ,   0   ,   0   ,   13369376   )   ;  
  //釋放失落屏幕的DC  
  g1.ReleaseHdc   (   dc1   )   ;  
  //釋放失落Bitmap的DC    
  g2.ReleaseHdc   (   dc2   )   ;  
  //以JPG文件格局來保留  
  MyImage.Save   (   @"c:/Capture.jpg"   ,   ImageFormat.Jpeg   );  
  MessageBox.Show   (   "以後屏幕曾經保留為C盤的capture.jpg文件!"   )   ;  
  }

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