Перебрать через imagecolorat - вполне себе хорошее решение. Особенно если как-нибудь умно перебирать, а не тупо подряд.
К примеру, какое такое умное решение в таком случае может быть?
Первое, что только в голову приходить, это следующее:
1: уменьшить пику до установленных лимитов
2: сократить цикл (например, переход по оси Y), который содержит в себе другой взаимно увеличивающийся цикл (соответственно по оси X) - исходя из пропорций картинки, или наоборот, если высота картинки больше то перебор по оси Y, которая содержит перебор по X - мля, хер знает что сморозил и как это поможет, если тем самым сделаю минимум циклов, которые содержат в себе много длинных циклов.
В общем писец, всеж ваш вариант услышать хотелось бы, а то я тут уже в теоретика превратился, и взеркале вместо себя Григория Перельмана вижу.
