Закраска произвольной области
int imageFill(int $im, int $x, int $y, int $col)
Функция imageFill() выполняет сплошную заливку одноцветной области, содержащей точку с координатами ($x,$y) цветом $col. Нужно заметить, что современные алгоритмы заполнения работают довольно эффективно, так что не стоит особо заботиться о скорости ее работы. Итак, будут закрашены только те точки, к которым можно проложить "одноцветный сильно связанный путь"
из точки ($x,$y).
Две точки называются связанными сильно, если у них совпадает по крайней мере одна координата, а по другой координате они отличаются не более, чем на 1 в любую сторону.
int imageFillToBorder(int $im, int $x, int $y, int $border, int $col)
Эта функция очень похожа на imageFill(), только она выполняет закраску не одноцветных точек, а любых, но до тех пор, пока не будет достигнута граница цвета $border. Под границей здесь понимается последовательность слабо связанных точек.
Две точки называются слабо связанными, если каждая их координата отличается от другой не более, чем на 1 в любом направлении. Очевидно, всякая сильная связь является также и слабой.