Работа с пикселами
int imageSetPixel(int $im, int $x, int $y, int $col)
Эта функция практически не интересна, т. к. выводит всего один пиксел цвета $col в изображении $im, расположенный в точке ($x,$y). Не думаю, чтобы с помощью нее можно было закрасить хоть какую-нибудь сложную фигуру, потому что, как мы знаем, PHP довольно медленно работает с длинными циклами,[E104] [DK105] а значит, даже рисование обычной линии с использованием этой функции будет очень дорогим занятием.
int imageColorAt(int $im, int $x, int $y)
В противоположность своему антиподу — функции imageSetPixel() — функция imageColorAt() не рисует, а возвращает цвет точки, расположенной на координатах ($x,$y). Возвращается идентификатор цвета, а не его RGB-представление.
Функцию удобно использовать, опять же, для определения, какой цвет в картинке должен быть прозрачным. Например, все у той же птички на кислотно-зеленом фоне мы достоверно знаем, что прозрачный цвет точно приходится на точку с координатами (0,0). Таким образом, теперь мы сможем в любой момент сменить цвет фона на мертвенно-голубой (который тоже у реальной птицы вряд ли встретится), и программа все равно будет работать правильно.