php8.5
Home/ Manual/ imagick / imagick/ Imagick::floodFillPaintImage

Imagick::floodFillPaintImage

PHP function Edit on GitHub ✎

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

Changes the color value of any pixel that matches target

Description

Imagick::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(). 0x638

Parameters

fill

ImagickPixel object or a string containing the fill color

fuzz

Fuzz

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

Channel

Return Values

Success

Examples

Imagick::floodfillPaintImage example

php
<?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: Output of example : Imagick::floodfillPaintImage()

Source: reference/imagick/imagick/floodfillpaintimage.xml · from the official PHP manual (php/doc-en)