Imagick::floodFillPaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::floodFillPaintImageChanges the color value of any pixel that matches target

Description

publicImagick::floodFillPaintImage(
    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

fill

ImagickPixel object or a string containing the fill color

fuzz

The 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.

target

ImagickPixel object or a string containing the target color to paint

x

X start position of the floodfill

y

Y start position of the floodfill

invert

If true paints any pixel that does not match the target color.

channel

Provide 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


$im = new Imagick();


$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");


$im->resetIterator();
$combined = $im->appendImages(true);


$combined->writeImage("floodfillpaint_intermediate.png");


$x = 1;
$y = 1;


$target = $combined->getImagePixelColor($x, $y);


$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);


$combined->writeImage("floodfillpaint_result.png");
?>

The above example will output something similar to:

Output of example : Imagick::floodfillPaintImage()
Output of example : Imagick::floodfillPaintImage()
To Top