Imagick::floodFillPaintImage
(No version information available, might only be in SVN)
Imagick::floodFillPaintImage — Modifie la valeur de la couleur de chaque pixel correspondant à la cible
Description
$fill
, float $fuzz
, mixed $target
, int $x
, int $y
, bool $invert
[, int $channel
= Imagick::CHANNEL_DEFAULT
] )Modifie la valeur de la couleur de chaque pixel correspondant à la cible et qui se trouve dans le voisinage immédiat. Cette méthode est un remplacement de la méthode obsolète Imagick::paintFloodFillImage(). Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.
Liste de paramètres
-
fill
-
Objet ImagickPixel ou une chaîne contenant la couleur de remplissage.
-
fuzz
-
La quantité de poussière de papier. Par exemple, le fait de définir la poussière de papier à 10 et la couleur rouge à une intensité de 100 et de 102 ne sera pas interprété comme la même couleur.
-
target
-
Objet ImagickPixel ou une chaîne contenant la couleur cible à peindre.
-
x
-
Position de départ en X du pot de peinture.
-
y
-
Position de départ en Y du pot de peinture.
-
invert
-
Si vaut
TRUE
, peint chaque pixel qui ne correspond pas à la couleur cible. -
channel
-
Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut
Imagick::CHANNEL_DEFAULT
. Reportez-vous à la liste des constantes de canaux
Valeurs de retour
Returns TRUE
on success.
Exemples
Exemple #1 Exemple avec Imagick::floodfillPaintImage()
<?php /* Crée un nouvel objet imagick */ $im = new Imagick(); /* Crée les images bleus, vertes et rouges */ $im->newImage(100, 50, "red"); $im->newImage(100, 50, "green"); $im->newImage(100, 50, "blue"); /* Ajoute l'image dans une autre */ $im->resetIterator(); $combined = $im->appendImages(true); /* Sauvegarde de l'image intermédiaire pour comparaison */ $combined->writeImage("floodfillpaint_intermediate.png"); /* Le pixel cible à peindre */ $x = 1; $y = 1; /* Récupère la couleur à utiliser pour peindre */ $target = $combined->getImagePixelColor($x, $y); /* Peint le pixel à la position 1,1 en noir, ainsi que tous les pixels voisins qui correspondent à la couleur cible */ $combined->floodfillPaintImage("black", 1, $target, $x, $y, false); /* Sauvegarde le résultat */ $combined->writeImage("floodfillpaint_result.png"); ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :