1

Тема: AHK: Найти все координаты пикселей определенного цвета

Здравствуйте.
Мне нужно найти все координаты пикселей определенного цвета. Например черного. Это нужно для того, чтобы перенести рисунок на холст, с помощью скрипта.
Использовал PixelSearch, он находит первую координату и все. Делал через loop, он все равно находит одну координату и останавливается.
Думаю что для моей задачи лучше будет использовать PixelGetColor. Как сохранить, полученные данные в массив?
С помощью PixelGetColor думаю можно просто проверить все пиксели на экране. И потом занести их в массив. Не совсем понял как это сделать.

2

Re: AHK: Найти все координаты пикселей определенного цвета

PixA := GetPixArr(100,100,5,5)
MsgBox % PixA[3,4]

GetPixArr(x, y, w, h) {
	PixArr := []
	Loop % w
	{
		Index := A_Index
		Loop % h
		{
			PixelGetColor colorRGB, x+Index, y+A_Index
			PixArr[Index, A_Index] := colorRGB
		}
	}
	Return PixArr
}

Встроенными командами будет очень долго, они рассчитаны на поиск/взятие только одного пикселя. Альтернативы:
http://forum.script-coding.com/viewtopi … 622#p97622
http://forum.script-coding.com/viewtopic.php?id=12984
http://forum.script-coding.com/viewtopic.php?id=12938

3

Re: AHK: Найти все координаты пикселей определенного цвета

stealzyСпасибо вам за пример, я думал как реализовать движение по координатам, у меня выходило только по диагонали. Как посмотреть массив с данными? И еще если я указываю координаты x и y то он все равно работает с 0, 0. colorRGB я заменил на черный. Еще вопрос, массив забит, координатами пикселей, черного цвета, теперь, например, я нажимаю любую клавишу и идет  MouseClick который на холсте отмечает координаты этих пикселей, получается рисунок из пикселей черного цвета.