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 à :
