Imagick::floodFillPaintImage

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

Imagick::floodFillPaintImageИзменяет значение цвета любого пикселя, соответствующего целевому

Описание

publicImagick::floodFillPaintImage(
    mixed$fill,
    float$fuzz,
    mixed$target,
    int$x,
    int$y,
    bool$invert,
    int$channel = Imagick::CHANNEL_DEFAULT
): bool

Изменяет значение цвета любого пикселя, соответствующего целевому и являющегося ближайшим соседом. Данный метод - замена устаревшему Imagick::paintFloodFillImage(). Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.8 или старше.

Список параметров

fill

Объект ImagickPixel или строка, содержащая цвет заливки.

fuzz

Мера округления (fuzz). Например, установите значение fuzz в 10 и красный цвет с интенсивностью 100 и 102 будет интерпретироваться как один и тот же цвет.

target

Объект ImagickPixel или строка, содержащая целевой цвет для рисования.

x

Начальная позиция заливки по X.

y

Начальная позиция заливки по Y.

invert

Если значение равно true, закрашивает любой пиксель, не соответствующий целевому цвету.

channel

Передайте любую корректную для вашего режима канала константу. Для применения к более чем одному каналу, комбинируйте константы каналов с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT. Обратитесь к списку констант каналов

Возвращаемые значения

В случае успешной работы возвращает true.

Примеры

Пример #1 Пример использования Imagick::floodfillPaintImage()

<?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");
?>

Вывод приведённого примера будет похож на:

Вывод примера: Imagick::floodfillPaintImage()
Вывод примера: Imagick::floodfillPaintImage()
To Top