Что нового

Функция PixelSearch отказывается искать цвет 23300, почему такое может быть?

Nilson

Новичок
Сообщения
21
Репутация
0
Уже почти закончил программу, но тут реалии слегка поменялись и вместо поиска белой точки цветом 16777215 потребовалось искать почти красную точку 23300. Собственно до этого программа успешно искала белую точку и я просто изменил данные для PixelSearch c PixelSearch (1, 150, 799, 370, 16777215, 0, 1, $Pic)
на PixelSearch (1, 150, 799, 370, 23300, 0, 1, $Pic). В итоге программа просто не видит данный пиксель в этой области. Пробовал и 233000000 и hex значение вписывать, и просто 233 пробовал. Функция, если верить доку, поддерживает шестнадцатеричный код. В коде больше ничего не менял. да и если я возвращаю в код цвет 16777215 то все идет нормально.
 
Автор
N

Nilson

Новичок
Сообщения
21
Репутация
0
Возможно я не так написал. Просто программа определения цвета выдает мне R233 G0 B0.
Но при записи в функцию поиска просто 233, скрипт все так же не находит точку.
 
Автор
N

Nilson

Новичок
Сообщения
21
Репутация
0
Я чего то не понимаю в жизни. 0xE90000 я вписывал и ничерта не происходило, вписал десятичную версию и все ок. В доках же написано что поддерживаются обе.
Спасибо большое.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Nilson [?]
написано что поддерживаются обе
Так и есть. Просто символы xE и в английской и в русской раскладке выглядят одинаково ;)
Да и пикселя могло не быть. При таких проблемах нужно перед поиском делать скриншот области в bmp-файл. А потом проверять правильность цвета, т.к. глаз часто не успевает увидеть то, что "видит" программа.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Nilson [?]
0xE90000 я вписывал и ничерта не происходило, вписал десятичную версию и все ок.
Странно.
Код:
ConsoleWrite((15269888 = 0xE90000) & @LF)
 
Автор
N

Nilson

Новичок
Сообщения
21
Репутация
0
Да там точка была управляемой и статичной, ее было легко отследить. Программа выдавала мне цвет в формате 0xE90000 и я его и вписывал. Ну да ладно. Я пришел к вам после пару часового копания по форумам. Судя по надписи "Autoit гуру" вы шарите 8). Искал я вот что. Все та же функция PixelSearch. Есть ли возможность заставить ее работать даже когда поверх целевого окна открыто другое? Я думал, что это будет работать автоматически если я укажу дескриптор целевого окна, но оказалось, что я ошибся. На форуме есть некий вариант с использованием Win32api, но моих мозгов не хватило что бы его разобрать и применить. Есть ли какой-то вариант попроще?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Nilson [?]
Есть ли возможность заставить ее работать даже когда поверх целевого окна открыто другое? Я думал, что это будет работать автоматически если я укажу дескриптор целевого окна, но оказалось, что я ошибся. На форуме есть некий вариант с использованием Win32api, но моих мозгов не хватило что бы его разобрать и применить. Есть ли какой-то вариант попроще?
ИМХО, нет.
 
Автор
N

Nilson

Новичок
Сообщения
21
Репутация
0
InnI сказал(а):
Nilson [?]
вариант попроще
Ответ #19 (под спойлером). Готовая рабочая функция. Параметры интуитивно понятны. Код анализировать нет необходимости. Куда ещё проще?!
Похоже я тупее чем считал ранее. Ладно, пойду разбираться раз так. Спасибо еще раз.
 
Верх