程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> Winform屏幕截圖保存C#代碼

Winform屏幕截圖保存C#代碼

編輯:C#基礎知識

Winform屏幕截圖保存C#代碼
代碼如下:

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)
{
//獲得當前屏幕的大小 http://www.cnblogs.com/roucheng/
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