imagefilltoborder

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

imagefilltoborderЗаливает область изображения

Описание

imagefilltoborder(
    GdImage $image,
    int $x,
    int $y,
    int $border_color,
    int $color
): true

Функция imagefilltoborder() заливает область изображения. Цвет границы области задаётся параметром border_color. Заливка начинается в точке с координатами x, y. Начало координат — левый верхний угол изображения. Область закрашивается цветом color.

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

image

Объект GdImage, который вернула функция imagecreatetruecolor() или другая функция генерации изображений.

x

Координата начала заливки по оси x.

y

Координата начала заливки по оси y.

border_color

Цвет границы заливки. Идентификатор цвета, который добавила в палитру изображения функция imagecolorallocate().

color

Цвет заливки. Идентификатор цвета, который добавила в палитру изображения функция imagecolorallocate().

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

Функция возвращает логическое значение true.

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

Версия Описание
8.0.0 Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).

Примеры

Пример #1 Пример заливки эллипса

<?php

// Создаём изображение и устанавливаем белый фон
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));

// Рисуем эллипс и заливаем чёрным цветом
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));

// Устанавливаем цвет границы заливки
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);

// Заливаем область
imagefilltoborder($im, 50, 50, $border, $fill);

// Устанавливаем заголовок с MIME-типом изображения и выводим результат
header('Content-type: image/png');
imagepng($im);

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

Вывод примера: Эллипс с заливкой и цветной границей

Примечания

Алгоритм не запоминает, какие пиксели уже установил, а решение о заливке пикселя принимает на основе цвета пикселя. Поэтому при установке для заливки цвета, который уже содержится в изображении, функция иногда выдаёт нежелательный результат.