(No version information available, might only be in Git)
Imagick::floodFillPaintImage — Modifie la valeur de la couleur de chaque pixel correspondant à la cible
$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.
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
Retourne TRUE
en cas de succès.
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 à :