(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
$fill
,$fuzz
,$target
,$x
,$y
,$invert
,$channel
= Imagick::CHANNEL_DEFAULTChanges the color value of any pixel that matches target and is an immediate neighbor. This method is a replacement for deprecated Imagick::paintFloodFillImage(). Este método estará disponível se a extensão Imagick tiver sido compilada com a ImageMagick versão 6.3.8 ou superior.
fill
ImagickPixel object or a string containing the fill color
fuzz
A quantidade de fuzz. Por exemplo, definir fuzz como 10 e a cor vermelha nas intensidades de 100 e 102, respectivamente, agora são interpretadas como a mesma cor.
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
Fornece qualquer constante de canal que seja válida no modo de canal. Para aplicar a mais de um canal, constantes de canal devem ser combinadas usando operadores bit a bit. O padrão é Imagick::CHANNEL_DEFAULT
. Consulte esta lista de constantes de canal
Retorna true
em caso de sucesso.
Exemplo #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");
?>
O exemplo acima produzirá algo semelhante a: