Реализация VNC в Qt - PullRequest
       18

Реализация VNC в Qt

2 голосов
/ 23 июня 2010

Я пытаюсь создать простое приложение для просмотра экрана в Qt. Я написал свой собственный сервер и клиент. В настоящий момент клиент просто отправляет на сервер скриншот всего экрана, чтобы его можно было отобразить. Мне просто интересно, могу ли я внедрить VNC на моем сервере и клиенте, или есть способ сравнения двух изображений, чтобы я мог отправлять только то, что изменилось?

Клиент и сервер используют UDP для отправки скриншота, и я хочу, чтобы изображение было наилучшего качества.

1 Ответ

1 голос
/ 26 июня 2010

Существует много возможных способов обнаружения изменений на экране, но наиболее эффективным, вероятно, будет использование зеркального драйвера.

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

Возможен захват всего и последующее сравнение пикселей на предмет изменений, но это требует немного больше работы на стороне сервера, поскольку вам нужно сохранить буфер того, что вы уже отправили клиенту. Этот буфер затем используется при сравнении текущего снимка для обнаружения изменений.

...