Imagick::floodFillPaintImage

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

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

Опис

public 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(). Цей метод доступний, якщо Imagick зібраний з ImageMagick версії 6.3.8 або новішою.

Параметри

fill

ImagickPixel object or a string containing the fill color

fuzz

Міра уподібнення кольорів. Наприклад, якщо значення fuzz дорівнює 10, то червоний колір з насиченістю від 100 до 102 тепер вважатиметься одним кольором.

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

Константа каналу, дійсна для поточного режиму каналу. Для застосування її до кількох каналів необхідно поєднати константи каналу побітовими операторами. Стандартно — Imagick::CHANNEL_DEFAULT. Див. список констант каналу.

Значення, що повертаються

Повертає true в разі успіху.

Приклади

Приклад #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");
?>

Поданий вище приклад виведе щось схоже на:

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