阅读量:0
在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
命名空间。