LightDemon
Новичок
- Сообщения
- 24
- Репутация
- 1
Добрый день, уважаемые форумчане! Помогите решить проблему! Есть функция из кода программы, суть её заключается в том, чтобы считывать в определенной области экрана цвет пикселей, сверять с заранее данными значениями и при совпадении выполнять определенные дейстивия! Вот код самой функции:
Проблема заключается в том, что сканируемая часть изображения не является статичной, а точнее даже именно те пиксели, которые требуется найти. Для решения этой проблемы я хотел создать скриншот, произвести поиск искомого пикселя на нем и обратно вернуться в основное окно, вот только не знаю как это реализовать. Подскажите, как это можно осуществить. Сложность вопроса ещё заключается в том, что желательно чтобы скрипт осуществлял эти действия не открывая сам файл скриншота и не сохраняя скрин после нахождения нужной точки, т.к. данная функция будет работать с большой переодичностью. И ещё сразу возник вопрос, будут ли координаты $i и $g со скриншота совпадать с координатами этой точки в основном окне?
P.S. Уважаемые модераторы, прошу меня простить если я что-то не так оформил! Вроде старался не нарушать правил! Долго думал, в каком разделе написать, но так и не нашел раздела "Помощь в разработке скриптов", поэтому так как я начинающий программист оформил тему здесь! Огромное спасибо!
Код:
Func Poisk ()
;создаем скриншот? работаем со скриношотом?
For $i=$topX To $endX Step 1
For $g=$topY To $endY Step 1
$Color = PixelGetColor($i, $g )
If $Color==$colour Then
;возвращаемся в окно, с которого делали скриншот
MouseMove($i, $g)
Sleep (1000)
MouseClick("left", $i, $g, 2)
Sleep (2000)
$tt=1
While $tt>0
$Color2 = PixelGetColor(631, 360)
If Not ($Color2==$colour2) And Not ($Color2==$colour3)
$tt=0
EndIf
sleep(Random(500,1500,1))
WEnd
$Color1 = PixelGetColor(631, 360)
If $Color1 == $colour1 Then
MouseClick("left", 628, 390, 1)
EndIf
EndIf
Next
Next
EndFunc
Проблема заключается в том, что сканируемая часть изображения не является статичной, а точнее даже именно те пиксели, которые требуется найти. Для решения этой проблемы я хотел создать скриншот, произвести поиск искомого пикселя на нем и обратно вернуться в основное окно, вот только не знаю как это реализовать. Подскажите, как это можно осуществить. Сложность вопроса ещё заключается в том, что желательно чтобы скрипт осуществлял эти действия не открывая сам файл скриншота и не сохраняя скрин после нахождения нужной точки, т.к. данная функция будет работать с большой переодичностью. И ещё сразу возник вопрос, будут ли координаты $i и $g со скриншота совпадать с координатами этой точки в основном окне?
P.S. Уважаемые модераторы, прошу меня простить если я что-то не так оформил! Вроде старался не нарушать правил! Долго думал, в каком разделе написать, но так и не нашел раздела "Помощь в разработке скриптов", поэтому так как я начинающий программист оформил тему здесь! Огромное спасибо!