(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);
imagedestroy($im);
?>
Результатом выполнения данного примера будет что-то подобное:
Алгоритм не запоминает явно, какие пиксели уже были установлены, а скорее делает вывод по цвету пикселя, поэтому он не может отличить только что установленные пиксели от пикселей, которые уже есть. Это означает, что выбор любого цвета заливки, который уже используется в изображении, может привести к нежелательным результатам.