PHP 7.4.0RC2 Released!

imagefilltoborder

(PHP 4, PHP 5, PHP 7)

imagefilltoborder Flutfüllung bis zur angegebenen Farbe

Beschreibung

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

imagefilltoborder() bewirkt eine Flutfüllung in einem Bereich, dessen Grenze durch die Farbe in border definiert wird. Der Startpunkt wird durch x und y angegeben (oben links ist 0, 0). Der Bereich wird gefüllt mit der Farbe color.

Parameter-Liste

image

Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.

x

x-Koordinate des Anfangspunkts.

y

y-Koordinate des Anfangspunkts.

border

Die Grenzfarbe. Eine Farbkennung, die mit imagecolorallocate() erzeugt wurde.

color

Die Füllfarbe. Eine Farbkennung, die mit imagecolorallocate() erzeugt wurde.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 Füllen einer Ellipse mit einer Farbe

<?php
// Erzeuge die Bildressource; definiere den Hintergrund als weiß
$im imagecreatetruecolor(100100);
imagefilledrectangle($im00100100imagecolorallocate($im255255255));

// Zeichne eine auszufüllende Ellipse mit einem schwarzen Rand
imageellipse($im50505050imagecolorallocate($im000));

// Definiere die Rand- und Füllfarbe
$border imagecolorallocate($im000);
$fill imagecolorallocate($im25500);

// Fülle die Auswahl
imagefilltoborder($im5050$border$fill);

// Ausgeben und Speicher freigeben
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Ausgabe des Beispiels : Füllen einer Ellipse mit einer Farbe

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