Низкоуровневый захват экрана, скриншот. c#

180
30 июня 2022, 20:50

пишу RDP программу вопрос такой, есть ли возможность в языке c# на низком уровне считывать данные отрисовки изображения на мониторе с видеокарты или памяти перед отправкой в виде сигнала и конвертировать это все в byte массив.

Такой способ:

Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width , Screen.PrimaryScreen.Bounds.Height );
Graphics graphics = Graphics.FromImage(printscreen as Image);
graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size);
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
printscreen.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);

Достаточно медленный, делает двойную работу и очень сильно ест ресурсы процессора, ни как не подходит для потоковой передачи изображения с рабочего стола без сильной задержки.

READ ALSO
Таймер переключения Windows в спящий режим

Таймер переключения Windows в спящий режим

Как в C# считать значения таймера, по которому ОС переключает комп в спящий режим? Может какой-то WMI класс это позволяет? Надо, чтобы до засыпания...

245
Происходит непонятная вещь с переменной: ее значение чередуется из шага в шаг C#

Происходит непонятная вещь с переменной: ее значение чередуется из шага в шаг C#

Сначала введу в курс дела(Значения переменных не имеют смысла, так проще для понимания)

179
С какой частотой обновляется метод

С какой частотой обновляется метод

С какой частотой будет обновляться метод в юнити, если его не вывести в FixedUpdate() и Update()

151
Как выгрузить изображение из postgres в picturebox c#

Как выгрузить изображение из postgres в picturebox c#

Я пытаюсь получить изображение из postgresql с помощью C #

139