Автор: MaXiS 18.1.2020, 15:55
Еще раз добрый день
Подскажите пожалуйста в чем проблема. Нахожу картинку в перекрытом окне, а вот цвет не могу. Причем Если убрать workwindow и хендл в команде и привязать скрипт ctrl+a то в активном окне работает, по другому никак. Смещение не требуется, пробовал. Кстати get color Тоже работает у меня в перекрытом, не удобно по нему погрешность оттенка задавать (
Код
//set findoffsetx 2
//set findoffsety 42
set #ownerHandle findwindow (GoGi)
set workwindow #ownerHandle
:start
set #korablik findimage (92, 26 581, 349 (korablik.bmp) %arr #ownerHandle 80 20 15)
if #korablik > 0
log Картинка найдена
end_if
set #Cvet findcolor (397, 17 397, 17 1 1 (4507639) %arr #ownerHandle)
if #Cvet > 0
log Цвет найден
end_if
goto start
По wiki findcolor используется через workwindow и хендл, пытался даже прописать хендл того что находится через ctrl+a.
Автор: cirus 18.1.2020, 16:16
Цитата
set #Cvet findcolor (397, 17 397, 17 1 1 (4507639) %arr #ownerHandle)
Для начала укажите больше область поиска и посмотрите в каких координатах находится цвет.
Автор: MaXiS 18.1.2020, 16:43
Цитата(cirus @ 18.1.2020, 16:16)
Для начала укажите больше область поиска и посмотрите в каких координатах находится цвет.
Спасибо, цвет нашел но как то странно всего 2, хотя там полоса длинная. Буду копать, уже есть результат =)
Просто в итоге нужно точно в нужном месте искать, попробую смещение, хотя для других команд не требуется.
Автор: MaXiS 18.1.2020, 16:58
Скриптом смещение определяется 2 35
нужный цвет примерно в 395 19
цвет находится судя по поиску в 397 51
это не помогает:
set findoffsetx 2
set findoffsety 35
Со смещением цвет находит в 399 86
Автор: cirus 18.1.2020, 18:53
Цитата
это не помогает:
set findoffsetx 2
set findoffsety 35
Это не влияет на поиск.
Проблема в том что Кнайт зачем-то сделал отсчёт координат от левого верхнего угла окна, а не клиента. Из-за этого и проблемы со смещением. Грубо говоря если нужно проверить цвет в точке 397, 17, то проверять нужно 397 + ширина рамки окна и 17 + высота рамки окна.
Автор: MaXiS 19.1.2020, 14:28
Цитата(cirus @ 18.1.2020, 18:53)
Это не влияет на поиск.
Спасибо, разобрался объявил переменные, где плюсанул смещение.
Не правильно понял работу оффсета. Было бы логичнее что бы она не возвращала координаты со смещение а учитывало их )