C# Как мне получить снимок экрана без Winform?C#

Место общения программистов C#
Anonymous
C# Как мне получить снимок экрана без Winform?

Сообщение Anonymous »

Я хочу получить снимок экрана текущей формы WinForm. Для этого я использую такой метод:

Код: Выделить всё

private void GetScreen(string file_path)
{
Opacity = 0;
var rect = new Rectangle(Location.X, Location.Y, Width, Height);
using var bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format64bppArgb);
using var gfx = Graphics.FromImage(bmp);
gfx.CopyFromScreen(rect.Left, rect.Top, 0, 0, Size);
Opacity = .99D;
bmp.Save(file_path, ImageFormat.Tiff);
}
Этот фрагмент кода работает правильно. Но мне очень неудобно устанавливать непрозрачность. Потому что когда это работает, такое ощущение, что форма постоянно мерцает. То же самое чувство возникает, когда я скрываю/показываю форму. Я хочу, чтобы форма постоянно появлялась на лицевой стороне. Но когда я запускаю метод, я хочу, чтобы он сделал снимок экрана позади формы без элементов формы и сохранил его. Например, есть программа AnyMP4 Screen Recorder. Он может делать снимки экрана внутри кадра без необходимости операций отображения/скрытия.
Как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/790 ... form-on-it

Вернуться в «C#»