温馨提示×

C#中如何高效地进行屏幕拷贝

c#
小樊
83
2024-08-29 03:52:37
栏目: 编程语言

在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.DrawingSystem.Windows.Forms命名空间。

0