(No version information available, might only be in Git)
Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
$fill
, float $fuzz
, mixed $target
, int $x
, int $y
, bool $invert
[, int $channel
= Imagick::CHANNEL_DEFAULT
] ) : boolChanges the color value of any pixel that matches target and is an immediate neighbor. This method is a replacement for deprecated Imagick::paintFloodFillImage(). Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.8 oder höher kompiliert wurde.
fill
ImagickPixel object or a string containing the fill color
fuzz
Die Menge an Ungenauigkeit. Wird dieser Wert z.B. auf 10 gesetzt, so werden die Farbe Rot sowohl bei Intensitäten von 100 als auch 102 als identisch betrachtet.
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
Übergeben Sie eine Channel-Konstante, die für Ihren Channel-Moduls gültig ist. Um mehr als einen Channel anzuwenden, können Sie die Channel-Konstanten mit bitweisen Operationen verknüpfen. Der Standardwert ist Imagick::CHANNEL_DEFAULT
. Sehen Sie sich auch die Liste der Channel-Konstanten an
Liefert TRUE
bei Erfolg.
Beispiel #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");
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie: