程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用純C#實現截取屏幕指定區域

用純C#實現截取屏幕指定區域

編輯:關於C語言

以前在別的地方見過一個通過調用系統API實現屏幕截圖的例子,從內心來說我不太喜歡在C#代碼中出現這種情況,現在什麼都講“和諧”,我覺得這種做法就是破壞了我們的“和諧”代碼,呵呵,開玩笑,有的時候,不通過系統API確實難以做到的。

下面講述的就是怎麼通過純C#來實現屏幕截圖,代碼如下:

//截取全屏圖象
private void btnFullScreen_Click(object sender, EventArgs e)
{
//創建圖象,保存將來截取的圖象
Bitmap image = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics imgGraphics = Graphics.FromImage(image);
//設置截屏區域
imgGraphics.CopyFromScreen(0, 0, 0, 0, new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
//保存
SaveImage(image);
}
//保存圖象文件
private void SaveImage(Image image)
{
if (saveFileDialog.ShowDialog(this) == DialogResult.OK)
{
string fileName = saveFileDialog.FileName;
string extension = Path.GetExtension(fileName);
if (extension == ".jpg")
{
image.Save(fileName, ImageFormat.Jpeg);
}
else
{
image.Save(fileName, ImageFormat.Bmp);
}
}
}

這段代碼其實很簡單,可以設置截屏區域的位置和大小,只不過只能在.Net 2.0環境中才能運行。本人正在進一步完善實現拖動拖動截屏技術,類似於QQ中的截屏辦法,正在攻關中,如果完成就向大家公布源代碼。

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