PixelSearch
Ищет пиксель указанного цвета в указанной прямоугольной области экрана.
PixelSearch ( left, top, right, bottom, color [, shade-variation = 0 [, step = 1 [, hwnd ]]] )
Параметры
left | Координата x левой стороны прямоугольника. |
top |
Координата y верхней стороны прямоугольника. |
right |
Координата x правой стороны прямоугольника. |
bottom |
Координата y нижней стороны прямоугольника. |
color |
Цвет пикселя для поиска (в десятичном или шестнадцатеричном виде). |
shade-variation |
[необязательный] Число от 0 до 255, показывающее, на сколько может отличаться красная, зелёная и синяя компоненты цвета. По умолчанию 0 (точное совпадение). |
step |
[необязательный] Вместо поиска каждого пикселя используйте значения больше чем 1, чтобы пропускать часть пикселей (для ускорения работы). Например, значение 2 означает, что будет использоваться только каждый второй пиксель. По умолчанию 1. |
hwnd |
[необязательный] Дескриптор окна. Требуется переключить опцию PixelCoordMode в 0 или 2 |
Возвращаемое значение
Успех: | Возвращает двух-элементный массив с координатами пикселя ($array[0] = x, $array[1] = y). |
Ошибка: | Устанавливает @error равным 1, если пиксель указанного цвета не найден. |
Примечания
Направление поиска изменяется в зависимости от того, как указаны границы прямоугольника:См. также
PixelChecksum, PixelGetColor, PixelCoordMode (Опция)Пример
; Найти чисто красный пиксель в прямоугольнике 0,0-20,300
$coord = PixelSearch(0, 0, 20, 300, 0xFF0000)
If Not @error Then
MsgBox(0, "X и Y равны:", $coord[0] & "," & $coord[1])
EndIf
; Найти чисто красный пиксель или пиксель с отклонением 10 градаций от чисто красного
$coord = PixelSearch(0, 0, 20, 300, 0xFF0000, 10)
If Not @error Then
MsgBox(0, "X и Y равны:", $coord[0] & "," & $coord[1])
EndIf