Показать сообщение отдельно
  #4  
Старый 27.06.2018, 00:20
Аватар для LIONSMILE
LIONSMILE LIONSMILE вне форума
Новичок
 
Регистрация: 19.03.2018
Сообщения: 51
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Lmikle, большое спасибо за совет! Я сделал нечто похожее. Я почитал еще и немного изменил логику программы. Ввиду действительно очень весомых факторов, так как экран широкоформатный с разрешением видеоизображения 1920×1080 пикселей. Проверять весь его это будет целая вечность, да и ресурсы будет кушать мягко говоря очень жестко, а если еще и с некой периодичностью - то вообще жесть. Для этих целей использовал небольшой сканер участка экрана, путем задания ему области по координатам, и соответвественно при сканировании указываю искомый цвет, который должен попадать в эту область. Если Сканер находит определенный цвет в этой области, по программа продолжает работать, если в данном участке искомого цвета нет, то программа переходит в режим ожидания, до момента появления в указанной области искомого цвета, при этом сканер работает постоянно, проверяя его наличие в это самой области.
Так получилось и куда проще и логичнее и менее затратно для ресурсов системы.
А по поводу того, что пикселе на экране бывают смазаны я в курсе, с графикой давно работаю, на первый взгляд видишь на экране один цвет, а там их ого-го сколько в оттенках, например шрифт по краям сглаживается и оттенки цвет меняются. Но в моем случае это не столько важно у меня всего два цвета получается - желтый и черный, и по логике моей программы, выбрав желтый цвет (определил с помощью доп. софта, но хочу сделать что-то типа аналога пипетки, как в paint) в компоненте ColorDialog я делаю его исходным, и потом запускаю уже сканер на проверку определенного участка, если такого цвета там нет, то программа становится в режим ожидания.

Еще раз спасибо за помощь!
Ответить с цитированием