Как сделать скриншот экрана в C#?

Пользователь

от carlo.cummerata , в категории: Другие , 2 года назад

Как сделать скриншот экрана в C#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

Чтобы сделать скриношт экрана, вы можете воспользоваться System.Drawing и System.Windows.Forms

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System.Drawing;
using System.Windows.Forms;

namespace Screenshot
{
    class Program
    {
        static void Main(string[] args)
        {
            Graphics graph = null;

            var bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
            Screen.PrimaryScreen.Bounds.Height);

            graph = Graphics.FromImage(bmp);

            graph.CopyFromScreen(0, 0, 0, 0, bmp.Size); // Делаем скриншот экрана по координатам

            bmp.Save("screenshot.png"); // Сохраняем полученый скриншот в файл
        }
    }
}


Пользователь

от linnea , год назад

@carlo.cummerata 

Чтобы сделать скриншот экрана в C#, вы можете использовать класс System.Drawing.Graphics и его метод CopyFromScreen.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
using System;
using System.Drawing;
using System.Drawing.Imaging;

// Снимок экрана
Bitmap screen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics g = Graphics.FromImage(screen);
g.CopyFromScreen(0, 0, 0, 0, screen.Size);

// Сохранение снимка экрана в файл
screen.Save("screenshot.png", ImageFormat.Png);


В этом примере создается объект Bitmap с размером экрана и используется объект Graphics для копирования изображения экрана в объект Bitmap. Затем изображение сохраняется в файл с именем screenshot.png.