首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 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