Тема: AHK: Определение количества черных и белых квадратиков.
Доброй ночи. Нужен скрипт, который будет считать количество черных и белых квадратиков в окошке GUI. Пробовал каждый раз передвигать мышку на 5 пикселей и проверять цвет под курсором, но передвигается он очень долго и можно один квадратик посчитать несколько раз. Эти квадратики предварительно появляются рандомно, столько, сколько напишешь в Inputbox. Код ниже, если сможете - помогите оптимизировать.
(только эти квадратики идут .png, если их можно рисовать иначе - буду благодарен совету, если нет - то подскажите как их вам скинуть:)
#SingleInstance Force
InputBox, kolvo
Loop, %kolvo%
{
random, types, 1, 2
if (types = 1)
{
random, xx, 10, 180
random, yy, 10, 150
Gui, Add, Picture, x%xx% y%yy%, %A_Desktop%/black.png
}
else if (types = 2)
{
random, xx, 10, 180
random, yy, 10, 150
Gui, Add, Picture, x%xx% y%yy%, %A_Desktop%/white.png
}
}
Gui, +HWNDhGui1 -DPIScale
Gui, Color, 808080
Gui, Add, Button, x10 y160 w70 h20 gCheck, Подсчитать
Gui, Add, Text, x10 y187, Black:
Gui, Add, Text, x47 y187 vkolblack, 0
Gui, Add, Text, x10 y200, White:
Gui, Add, Text, x47 y200 vkolwhite, 0
Gui, Show, w200 h230
return
Check:
Mousemove, 10, 30
xmove := 10
ymove := 30
Loop,
{
MouseMove, %xmove%, %ymove%, 0
PixelGetColor, pixel, %xmove%, %ymove%
if (pixel = "0xFFFFFF")
{
GuiControlGet, kolwhite
kolwhite := kolwhite+1
GuiControl,, kolwhite, %kolwhite%
}
else if (pixel = "0x000000")
{
GuiControlGet, kolblack
kolblack := kolblack+1
GuiControl,, kolblack, %kolblack%
}
xmove := xmove+2
if (xmove > 198)
{
xmove := 10
ymove := ymove+2
}
if (ymove > 168)
{
break
}
}
return
Escape::
GuiClose:
ExitApp