imagefilledpolygon

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefilledpolygonРисует закрашенный многоугольник

Описание

Сигнатура, которая действует с PHP 8.0.0 (не поддерживается с именованными аргументами)

imagefilledpolygon(GdImage $image, array $points, int $color): bool

Альтернативная сигнатура (устарела с PHP 8.1.0)

imagefilledpolygon(
    GdImage $image,
    array $points,
    int $num_points,
    int $color
): bool

Функция imagefilledpolygon() создаёт закрашенный многоугольник в изображении image.

Список параметров

image

Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().

points

Массив с x- и y-координатами последовательных вершин многоугольника.

num_points

Общее количество точек (вершин), должно быть не меньше 3.

При вызове функции согласно сигнатуре без этого параметра массив points должен содержать чётное количество элементов, тогда значение параметра num_points функция вычислит как count($points) / 2.
color

Идентификатор цвета, созданный функцией imagecolorallocate().

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Список изменений

Версия Описание
8.1.0 Параметр num_points устарел.
8.0.0 Параметр image теперь ожидает экземпляр класса GdImage; раньше параметр ждал корректный gd-ресурс (resource).

Примеры

Пример #1 Пример рисования закрашенного многоугольника функцией imagefilledpolygon()

<?php

// Установка массива точек для многоугольника
$values = array(
40, 50, // Point 1 (x, y)
20, 240, // Point 2 (x, y)
60, 60, // Point 3 (x, y)
240, 20, // Point 4 (x, y)
50, 40, // Point 5 (x, y)
10, 10 // Point 6 (x, y)
);

// Создание изображения
$image = imagecreatetruecolor(250, 250);

// Определение цветов
$bg = imagecolorallocate($image, 0, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);

// Заливка фона
imagefilledrectangle($image, 0, 0, 249, 249, $bg);

// Рисование многоугольника
imagefilledpolygon($image, $values, $blue);

// Вывод изображения
header('Content-type: image/png');
imagepng($image);

?>

Вывод приведённого примера будет похож на:

Вывод примера: imagefilledpolygon()

Смотрите также