在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
命名空间。