PHP 7.4.0RC2 Released!

imagefilltoborder

(PHP 4, PHP 5, PHP 7)

imagefilltoborderRemplit une région avec une couleur spécifique

Description

imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color ) : bool

imagefilltoborder() remplit avec la couleur color toute la région à l'intérieur de la région limitée par la couleur border. 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.

Liste de paramètres

image

Une ressource d'image, 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

La couleur de la bordure. Un identificateur de couleur créé avec imagecolorallocate().

color

La couleur de remplissage. Un identificateur de couleur créé avec imagecolorallocate().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

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(100100);
imagefilledrectangle($im00100100imagecolorallocate($im255255255));

// Dessine une ellipse dont les bordures seront noires
imageellipse($im50505050imagecolorallocate($im000));

// Définit la bordure et remplit l'ellipse de la couleur choisie
$border imagecolorallocate($im000);
$fill imagecolorallocate($im25500);

// Remplit la sélection
imagefilltoborder($im5050$border$fill);

// Affichage et libération de la mémoire
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

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

Affichage de l'exemple : imagefilltoborder()

add a note add a note

User Contributed Notes 2 notes

up
2
edrad at wanadoo dot fr
16 years ago
Very useful to build a pseudo-sphere with a color gradient...

<?php
$width
= 300;
$center = $width / 2;
$colordivs = 255 / $center;
$im = @imagecreate($width, $width);
$back_color = imagecolorallocate($im, 20, 30, 40);
imagefill($im, 0, 0, $back_color);
for (
$i = 0; $i <= $center; $i++)
{
    
$diametre = $width - 2 * $i;
   
$el_color = imagecolorallocate($im, $i * $colordivs, 0, 0);
   
imagearc($im, $center, $center, $diametre, $diametre, 0, 360, $el_color);
   
imagefilltoborder($im, $center, $center, $el_color, $el_color);
}
imagepng($im);
?>

Dark Skull Software
http://www.darkskull.net
up
0
admin at worldlanguages dot tk
15 years ago
In the example below, for those with newer GD versions, it makes more sense to replace:

imagearc($im, $center, $center, $diametre, $diametre, 0, 360, $el_color);

with:

imageellipse($im, $center, $center, $diametre, $diametre, $el_color);

This is obviously simpler.
To Top