Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
14 / 14 / 2
Регистрация: 03.01.2011
Сообщений: 77
1

Скриншот не всего экрана, а только изменившейся области

20.03.2012, 22:29. Показов 2314. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем задача такая. Вишу программу для удаленного управления. Для оптимизации решил отправлять не целые скриншоты а только области на которых произошли изменения, но вот только сам что то не смог составить алгоритм, чтобы он вырезал изменившиеся области, может подскажете? наверняка есть готовый
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2012, 22:29
Ответы с готовыми решениями:

Скриншот всего экрана
Добрый день, может кто подсказать статью или код, где есть НОРМАЛЬНО работающая функция для...

Скриншот области экрана
Подскажите, как грамотнее будет сделать программу скриншота области экрана (примерно 100х300) от 60...

Снять скриншот с области экрана
Написано на borland turbo c++ 2006, проблемма состоит в том, что я не знаю как снимать не весь...

Как сделать скриншот области экрана?
Есть пример на Делфи http://delphiexpert.ru/sozdanie-skrinshotera-na-delphi.html, но в Lazarus...

6
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
23.03.2012, 19:22 2
сам с такой проблемой не сталкивался, но первое, что приходит в голову отправлять данные с активного контрола.
0
14 / 14 / 2
Регистрация: 03.01.2011
Сообщений: 77
23.03.2012, 19:40  [ТС] 3
Цитата Сообщение от Learx Посмотреть сообщение
сам с такой проблемой не сталкивался, но первое, что приходит в голову отправлять данные с активного контрола.
что то не очень понял о чем вы
0
57 / 57 / 11
Регистрация: 07.03.2010
Сообщений: 157
23.03.2012, 20:45 4
Как вариант(реализацию не знаю. Сам буду рад ей):
Делаем скрин, делим на квадраты например 50x50 и проверяем циклом все квадраты. Если квадрат изменился - отправляем.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
24.03.2012, 11:55 5
по-моему сравнение двух изображений требует гораздо больше ресурсов чем отправление самого файла. так что это имеет смысл при ограниченном траффике.

у каждого окна есть контейнер контролов. при работе с контролом(будь то тектовое поле или кнопка) этот контрол получает статус Focused или что-то вроде. ТО есть надо по ид-шнику процесса ативного окна влезть в программу и отлавливать там активный контрол. конечно, это может быть и все окно программы, а может и отдельный текстбокс.
0
57 / 57 / 11
Регистрация: 07.03.2010
Сообщений: 157
24.03.2012, 22:25 6
Цитата Сообщение от Learx Посмотреть сообщение
по-моему сравнение двух изображений требует гораздо больше ресурсов чем отправление самого файла. так что это имеет смысл при ограниченном траффике.

у каждого окна есть контейнер контролов. при работе с контролом(будь то тектовое поле или кнопка) этот контрол получает статус Focused или что-то вроде. ТО есть надо по ид-шнику процесса ативного окна влезть в программу и отлавливать там активный контрол. конечно, это может быть и все окно программы, а может и отдельный текстбокс.
Сравнение двух изображений не особо потребует трафика.. Если я правильно понимаю метод.
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
26.03.2012, 09:09 7
Нужно сохранять предыдущее изображение с сравнивать с новым.
Чтобы получить быстрое сравнение можно использовать XOR.
Он покажет какие пиксели изменились : не изененные значения будут нулями, измененные не нулевыми.

via stackoverflow
0
26.03.2012, 09:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2012, 09:09
Помогаю со студенческими работами здесь

[WPF] Скриншот выделенной области экрана
Подскажите, пожалуйста, как правильно проделать следующие действия: пользователь нажимает кнопку...

Скриншот области экрана, находящейся под формой
Делаю скриншот, вот код: Dim ScreenSize As Size = New Size(My.Computer.Screen.Bounds.Width,...

скриншот области 128x96 экрана и сохранения в rgb565.bin
пытаюсь написать программу, которая копирует область экрана размером 128x96, преобразует его в 16...

Unity3d: создавать объекты только в видимой области экрана
Здравствуйте помогите решить проблему В unity создаются объекты внизу экрана рандомно по оси икс...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru