(PHP 4, PHP 5, PHP 7, PHP 8)
imagefilltoborder — Заливает цветом
Функция imagefilltoborder() заливает область, ограниченную
цветом border_color
. Начальная координата
x
, y
(левый верхний угол обозначают
координаты 0, 0), а область закрашивается цветом
color
.
image
Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().
x
x-координата начала.
y
y-координата начала.
border_color
Цвет границы заливки. Идентификатор цвета, созданный функцией imagecolorallocate().
color
Цвет заливки. Идентификатор цвета, созданный функцией imagecolorallocate().
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Версия | Описание |
---|---|
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);
// Вывод
header('Content-type: image/png');
imagepng($im);
?>
Вывод приведённого примера будет похож на:
Алгоритм не запоминает явно, какие пиксели уже были установлены, а скорее делает вывод по цвету пикселя, поэтому он не может отличить только что установленные пиксели от пикселей, которые уже есть. Это означает, что выбор любого цвета заливки, который уже используется в изображении, может привести к нежелательным результатам.