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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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