基于C#實(shí)現(xiàn)的屏幕指定區(qū)域截屏代碼
以前在別的地方見過一個(gè)通過調(diào)用系統(tǒng)API實(shí)現(xiàn)屏幕截圖的例子,從內(nèi)心來說我不太喜歡在C#代碼中出現(xiàn)這種情況,現(xiàn)在什么都講“和諧”,我覺得這種做法就是破壞了我們的“和諧”代碼,呵呵,開玩笑,有的時(shí)候,不通過系統(tǒng)API確實(shí)難以做到的。
下面講述的就是怎么通過純C#來實(shí)現(xiàn)屏幕截圖,代碼如下:
//截取全屏圖象
private void btnFullScreen_Click(object sender, EventArgs e)
{
//創(chuàng)建圖象,保存將來截取的圖象
Bitmap image = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics imgGraphics = Graphics.FromImage(image);
//設(shè)置截屏區(qū)域 柯樂義
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);
}
}
}
這段代碼其實(shí)很簡單,可以設(shè)置截屏區(qū)域的位置和大小,只不過只能在.net 2.0環(huán)境中才能運(yùn)行。本人正在進(jìn)一步完善實(shí)現(xiàn)拖動(dòng)拖動(dòng)截屏技術(shù),類似于QQ中的截屏辦法,正在攻關(guān)中,如果完成就向大家公布源代碼。
- 使用C#從零開始實(shí)現(xiàn)一個(gè)截屏工具
- 使用C#自制一個(gè)截屏工具
- C#?WPF使用GDI實(shí)現(xiàn)截屏功能
- C# WPF利用Clip屬性實(shí)現(xiàn)截屏框功能
- C#?wpf實(shí)現(xiàn)截屏框熱鍵截屏的示例代碼
- C#?wpf使用GDI+實(shí)現(xiàn)截屏效果
- C#?wpf使用DockPanel實(shí)現(xiàn)制作截屏框
- 通過C#編寫一個(gè)簡易的Windows截屏增強(qiáng)工具
- C#實(shí)現(xiàn)小截屏軟件功能
- c#不使用系統(tǒng)api實(shí)現(xiàn)可以指定區(qū)域屏幕截屏功能
- c#根據(jù)網(wǎng)址抓取網(wǎng)頁截屏生成圖片的示例
- C# 全屏截圖的功能實(shí)現(xiàn)
相關(guān)文章
C#winform中數(shù)據(jù)庫綁定DataGrid的實(shí)現(xiàn)
本文主要介紹了C#winform中數(shù)據(jù)庫綁定DataGrid的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
C#使用SqlDataAdapter對(duì)象獲取數(shù)據(jù)的方法
這篇文章主要介紹了C#使用SqlDataAdapter對(duì)象獲取數(shù)據(jù)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了SqlDataAdapter對(duì)象獲取數(shù)據(jù)具體步驟與相關(guān)使用技巧,需要的朋友可以參考下2016-02-02
C#實(shí)現(xiàn)系統(tǒng)休眠或靜止休眠的方法
這篇文章主要介紹了C#實(shí)現(xiàn)系統(tǒng)休眠或靜止休眠的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
詳解C# WinForm如何實(shí)現(xiàn)自動(dòng)更新程序
在C/S這種模式中,自動(dòng)更新程序就顯得尤為重要,它不像B/S模式,直接發(fā)布到服務(wù)器上,瀏覽器點(diǎn)個(gè)刷新就可以了。本文就為大家準(zhǔn)備了WinForm實(shí)現(xiàn)自動(dòng)更新程序的示例代碼,需要的可以參考一下2022-10-10
C#使用Twain協(xié)議實(shí)現(xiàn)掃描儀連續(xù)掃描功能
這篇文章主要介紹了C#使用Twain協(xié)議實(shí)現(xiàn)掃描儀連續(xù)掃描,只需一行代碼,就可實(shí)現(xiàn)一次掃描多張,且不需要更改掃描儀的任何設(shè)置,需要的朋友可以參考下2022-01-01

