Как сделать скриншот экрана в C#?
Здравствуйте! В данной простой статье я покажу Вам как просто можно сделать скриншот экрана с помощью встроенных средств на C#.
Для начала необходимо создать консольный проекта в Visual Studio. Обратите внимание, что
если у Вас будут ошибки связанные с тем, что тот или иной класс не будет найдены, то просто надо будет добавить ссылки на указанные в директивах using библиотеки (код ниже).
А затем напишем следующий код:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
namespace ScreenShotCapture
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine(
"Скриншот создан! Он в папке Debug или Release проекта или рядом с исполняемым файлом"
);
MakeScreenshot();
}
// метод, который делает скриншот и записывает его в файл
public static void MakeScreenshot()
{
// получаем размеры окна рабочего стола
Rectangle bounds = Screen.GetBounds(Point.Empty);
// создаем пустое изображения размером с экран устройства
using (var bitmap = new Bitmap(bounds.Width, bounds.Height))
{
// создаем объект на котором можно рисовать
using (var g = Graphics.FromImage(bitmap))
{
// перерисовываем экран на наш графический объект
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
// сохраняем в файл с форматом JPG
bitmap.Save("screenshot_01.jpg", ImageFormat.Jpeg);
}
}
}
}
Таким образом, мы с помощью вот такого простого кода на C# получили возможность сделать скриншот экрана.