Imagick::floodFillPaintImage
(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::floodFillPaintImage — Changes the color value of any pixel that matches target
Beschreibung
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(). Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.8 oder höher kompiliert wurde.
Parameter-Liste
-
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
Rückgabewerte
Liefert true
bei Erfolg.
Beispiele
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: