Здравствуйте!
Пытаюсь сделать скрипт, который бы заменил библиотеку ImageSearch, с поиском по 5 точкам (по углам квадрата + по центру).
Сделал функцию, которая бы при клике по точке на экране создаёт массив цветов и выводит его в блокнот.
Но как-то очень странно работает вывод, прерываясь на 3-4 цвете.
Подскажите, пожалуйста, как изменить скрипт, чтобы массив выводился корректно. Кроме того, пытался делать задержки, чтобы скрипт не завершал работу, пока не будет нажатия, но как-то у меня с этим не задалось.
Пытаюсь сделать скрипт, который бы заменил библиотеку ImageSearch, с поиском по 5 точкам (по углам квадрата + по центру).
Сделал функцию, которая бы при клике по точке на экране создаёт массив цветов и выводит его в блокнот.
Но как-то очень странно работает вывод, прерываясь на 3-4 цвете.
Код:
#include <./MouseOnEvent.au3>
Func getObjectPixelsByClickCoords($x, $y, $deviation = 3)
Local $colors[5]
; Получаем цвет точки, по которой кликнули + цвета точек на углах квадрата с центром в заданной точке
$colors[0] = PixelGetColor($x, $y)
$colors[1] = PixelGetColor($x - $deviation, $y - $deviation)
$colors[2] = PixelGetColor($x + $deviation, $y - $deviation)
$colors[4] = PixelGetColor($x + $deviation, $y + $deviation)
$colors[3] = PixelGetColor($x - $deviation, $y + $deviation)
Run('notepad.exe')
WinWaitActive("Безымянный — Блокнот")
Send("$arr_colors[5] = [" & $colors[0] & ", " & $colors[1] & ", " & $colors[2] & ", " & $colors[3] & ", " & $colors[4] & "]")
Send("{ENTER}")
EndFunc
Func _MousePrimaryDown_Event($event)
If $event Then
Local $coords = MouseGetPos()
getObjectPixelsByClickCoords($coords[0], $coords[1])
Sleep(3000)
Else
Sleep(3000)
EndIf
EndFunc
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event")
MsgBox(0, "Скрипт работает!", "Для получения массива цветов, необходимо в течении 10 секунд щёлкнуть по точке на экране!", 10)
Подскажите, пожалуйста, как изменить скрипт, чтобы массив выводился корректно. Кроме того, пытался делать задержки, чтобы скрипт не завершал работу, пока не будет нажатия, но как-то у меня с этим не задалось.