Область обязательно задавать.
И если пикселов заданного цвета много - уменьшать область иначе до пенсии будем ждать.
#name "Ближайший к заданным координатам пиксель"
// цель
$Xtarget = 500
$Ytarget = 500
GETSCREEN(0,0,1000,1000)
SCANPXL($scan, 0,0,1000,1000, 777)
$dist = 10000
$scan_size = ARRSIZE($scan)
FOR($i=0, $i < $scan_size, 2)
$X = $scan[$i]
$Y = $scan[$i+1]
$d_temp = DIST($Xtarget, $Ytarget, $X, $Y)
IF($d_temp < $dist)
$dist = $d_temp
$Xdot_target = $X
$Ydot_target = $Y
END_IF
IF($Y > $Ytarget + $dist)
$i = $scan_size
END_IF
END_CYC
UNDEFINE($scan)
IF($dist ! 10000)
LOGWRITE ("Ближайший пиксель к заданным координатам X/Y: ", $Xdot_target, " / ", $Ydot_target)
ELSE
LOGWRITE ("Заданный цвет не найден")
END_IF
HALT