Imagick::floodFillPaintImage
(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
Description
mixed
$fill,float
$fuzz,mixed
$target,int
$x,int
$y,bool
$invert,int
$channel = Imagick::CHANNEL_DEFAULT): bool
Changes the color value of any pixel that matches target and is an immediate neighbor. This method is a replacement for deprecated Imagick::paintFloodFillImage(). This method is available if Imagick has been compiled against ImageMagick version 6.3.8 or newer.
Parameters
fillImagickPixel object or a string containing the fill color
fuzzThe amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.
targetImagickPixel object or a string containing the target color to paint
xX start position of the floodfill
yY start position of the floodfill
invertIf
truepaints any pixel that does not match the target color.channelProvide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to
Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants
Return Values
Returns true on success.
Examples
Example #1 Imagick::floodfillPaintImage() example
<?php
/* Create new imagick object */
$im = new Imagick();
/* create red, green and blue images */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");
/* Append the images into one */
$im->resetIterator();
$combined = $im->appendImages(true);
/* Save the intermediate image for comparison */
$combined->writeImage("floodfillpaint_intermediate.png");
/* The target pixel to paint */
$x = 1;
$y = 1;
/* Get the color we are painting */
$target = $combined->getImagePixelColor($x, $y);
/* Paints pixel in position 1,1 black and all neighboring
pixels that match the target color */
$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);
/* Save the result */
$combined->writeImage("floodfillpaint_result.png");
?>The above example will output something similar to:

