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, 6, $blue);

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

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

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

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

To Top