Для заливки сложной замкнутой области удобно использовать функцию imagefilledpolygon:
int imagefilledpolygon ( resource image, array points, int num_points, int color )
где,
image - идентификатор изображения;
points - массив точек;
num_points - количество точек в полигоне;
color - цвет заливки.
Массив точек содержит X и Y координату каждой точки. Таким образом, для трех точек, массив содержит шесть элементов: Array( X1, Y1, X2, Y2, X3, Y3)
Пример 29. Вывод самого простого полигона (треугольник):
header ("Content-type: image/png");
$im = imagecreatetruecolor(320, 240);
$ink = imagecolorallocate($im, 255, 255, 255);