Что нового

Координаты пикселя по скриншоту окна.

LightDemon

Новичок
Сообщения
24
Репутация
1
Добрый день, уважаемые форумчане! Помогите решить проблему! Есть функция из кода программы, суть её заключается в том, чтобы считывать в определенной области экрана цвет пикселей, сверять с заранее данными значениями и при совпадении выполнять определенные дейстивия! Вот код самой функции:
Код:
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. Уважаемые модераторы, прошу меня простить если я что-то не так оформил! Вроде старался не нарушать правил! Долго думал, в каком разделе написать, но так и не нашел раздела "Помощь в разработке скриптов", поэтому так как я начинающий программист оформил тему здесь! Огромное спасибо!
 
Верх