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). Для примера, установите значение 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(10050"red");
$im->newImage(10050"green");
$im->newImage(10050"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$yfalse);

/* Save the result */
$combined->writeImage("floodfillpaint_result.png");
?>

Результатом выполнения данного примера будет что-то подобное:

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