(PHP 4, PHP 5, PHP 7, PHP 8)
imagefilltoborder — Remplit une région avec une couleur spécifique
imagefilltoborder() remplit avec la couleur
color
toute la région à l'intérieur de
la région limitée par la couleur border_color
.
Le point de départ est (x
,
y
) (le coin supérieur gauche est l'origine
(0,0)) et la couleur de la région est color
.
image
Un objet GdImage, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().
x
X : coordonné de départ.
y
Y : coordonné de départ.
border_color
La couleur de la bordure. Un identificateur de couleur créé avec imagecolorallocate().
color
La couleur de remplissage. Un identificateur de couleur créé avec imagecolorallocate().
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Version | Description |
---|---|
8.0.0 |
image attend une instance de GdImage désormais;
auparavant, une resource gd était attendue.
|
Exemple #1 Remplissage d'un ellipse avec une couleur
<?php
// Création d'un gestionnaire d'image, puis définit la couleur d'arrière-plan
// à blanc
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));
// Dessine une ellipse dont les bordures seront noires
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));
// Définit la bordure et remplit l'ellipse de la couleur choisie
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);
// Remplit la sélection
imagefilltoborder($im, 50, 50, $border, $fill);
// Affichage et libération de la mémoire
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Résultat de l'exemple ci-dessus est similaire à :
L'algorithme ne se souvient pas explicitement de quel pixels ont déjà été définit, mais plutôt l'infère à partir de la couleur du pixel, donc il ne peut pas faire la distinction entre un pixel qui viens juste d'être définit et un pixel qui était déjà présent. Ceci signifie que choisir toute couleur de remplissage qui est déjà présente dans l'image peut produire des résultats indésirables.