(PHP 4, PHP 5, PHP 7, PHP 8)
imagefilltoborder — Flood fill to specific color
imagefilltoborder() performs a flood fill
whose border color is defined by border_color
.
The starting point for the fill is x
,
y
(top left is 0, 0) and the region is
filled with color color
.
image
A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().
x
x-coordinate of start.
y
y-coordinate of start.
border_color
The border color. A color identifier created with imagecolorallocate().
color
The fill color. A color identifier created with imagecolorallocate().
Returns true
on success or false
on failure.
Version | Description |
---|---|
8.0.0 |
image expects a GdImage
instance now; previously, a resource was expected.
|
Example #1 Filling an ellipse with a color
<?php
// Create the image handle, set the background to white
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));
// Draw an ellipse to fill with a black border
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));
// Set the border and fill colors
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);
// Fill the selection
imagefilltoborder($im, 50, 50, $border, $fill);
// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
The above example will output something similar to:
The algorithm does not explicitly remember which pixels have already been set, but rather infers that from the color of the pixel, so it cannot distinguish between freshly set pixels and pixels that are already there. That means chosing any fill color that is already used in the image may yield undesired results.