Imagick
PHP Manual

Imagick::floodFillPaintImage

(No version information available, might only be in Git)

Imagick::floodFillPaintImageModifie la valeur de la couleur de chaque pixel correspondant à la cible

Description

bool Imagick::floodFillPaintImage ( mixed $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

Retourne TRUE en cas de succès.

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(10050"red");
$im->newImage(10050"green");
$im->newImage(10050"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$yfalse);

/* Sauvegarde le résultat */
$combined->writeImage("floodfillpaint_result.png");
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : Imagick::floodfillPaintImage()
Affichage de l'exemple : Imagick::floodfillPaintImage()


Imagick
PHP Manual