Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: cheremburum on May 17, 2018, 08:30:39 PM

Title: определить цвет пикселя на 2 мониторах
Post by: cheremburum on May 17, 2018, 08:30:39 PM
Люди помогите, ломаю голову уже несколько дней. У меня ноутбук и к нему подключен обычный монитор. На обоих запущены несколько идентичных окон. Нужно определить цвет пикселя и при совпадении сделать клик. Так вот на обычном мониторе все отлично срабатывает, а на мониторе ноутбука не находит нужный цвет. Пробовал и  пиксель искать, и скрин картинки делать, и цветокоррекцию ни чего не помогает. Вообще заметил, что когда водишь курсором по монитору ноутбука, цвета определяются не правильно. Наводишь на красный, показывает синий, наводишь на синий показывает какой то коричневый.  Не пойму в чем прикол.

Для поиска использовал код шаблона. Как уже писал на обычном мониторе находит цвет, на ноутбуке нет.
Code: [Select]
GETSCREEN

SCANPXL($ARR_SCAN, 78,282, 120,333, 10211046)

$ARR_NUM = 0
$SHIFT_X = 1 // смещение (кол-во игнор пикселов после найденного)
$SHIFT_Y = 1
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   IF(($X > $X2) | ($Y > $Y2))
      $X2 = $X + $SHIFT_X
      $Y2 = $Y + $SHIFT_Y
      MOVE($X, $Y) // перемещаем курсор
      INC($SCAN_COUNT,1)
      LOGWRITE ("X: ", $X, " Y: ", $Y)
      WAITMS(100)
   END_IF
END_CYC

UNDEFINE($ARR_SCAN)

LOGWRITE ("=====================")
LOGWRITE ("Всего найдено: ", $SCAN_COUNT)

HALT
Title: Re: определить цвет пикселя на 2 мониторах
Post by: Oraven on May 17, 2018, 08:42:26 PM
Масштабирование в винде должно быть установлено на 100%.
Title: Re: определить цвет пикселя на 2 мониторах
Post by: cheremburum on May 17, 2018, 10:00:02 PM
Спасибо. все заработало. Так и знал что все решается просто. Вот только теперь прийдется все координаты переписать. Но главное что работает.