在C#中,要高效地進行屏幕拷貝,可以使用Graphics
類的CopyFromScreen
方法
using System;
using System.Drawing;
using System.Windows.Forms;
namespace ScreenCaptureExample
{
class Program
{
static void Main(string[] args)
{
// 獲取屏幕分辨率
int screenWidth = Screen.PrimaryScreen.Bounds.Width;
int screenHeight = Screen.PrimaryScreen.Bounds.Height;
// 創建一個Bitmap對象,用于存儲截圖
Bitmap screenshot = new Bitmap(screenWidth, screenHeight);
// 創建一個Graphics對象,用于繪制截圖
Graphics graphics = Graphics.FromImage(screenshot);
// 使用CopyFromScreen方法復制屏幕內容到Bitmap對象中
graphics.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight));
// 保存截圖到文件
screenshot.Save("screenshot.png", System.Drawing.Imaging.ImageFormat.Png);
// 釋放資源
graphics.Dispose();
screenshot.Dispose();
}
}
}
這段代碼首先獲取屏幕分辨率,然后創建一個Bitmap
對象和一個Graphics
對象。接下來,使用CopyFromScreen
方法將屏幕內容復制到Bitmap
對象中。最后,將截圖保存為PNG格式的文件,并釋放資源。
注意:這個示例需要引用System.Drawing
和System.Windows.Forms
命名空間。