(PHP 4, PHP 5, PHP 7, PHP 8)
imagefilltoborder — Füllt einen Bereich mit einer bestimmten Farbe
imagefilltoborder() füllt den gesamten Bereich, dessen
Grenze durch die Farbe in border_color
definiert wird. Der
Startpunkt wird durch x
und y
angegeben (oben links ist 0, 0). Der Bereich wird mit der Farbe
color
gefüllt.
image
Ein GdImage-Objekt, das von einer der Funktionen zur Bilderzeugung, z. B. imagecreatetruecolor(), zurückgegeben wurde.
x
x-Koordinate des Anfangspunkts.
y
y-Koordinate des Anfangspunkts.
border_color
Die Grenzfarbe. Eine Farbkennung, die mit imagecolorallocate() erzeugt wurde.
color
Die Füllfarbe. Eine Farbkennung, die mit imagecolorallocate() erzeugt wurde.
Version | Beschreibung |
---|---|
8.0.0 |
image erwartet nun eine
GdImage-Instanz; vorher wurde eine gültige
gd -Ressource erwartet.
|
Beispiel #1 Füllen einer Ellipse mit einer Farbe
<?php
// Erzeuge die Bildressource; definiere den Hintergrund als weiß
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));
// Zeichne eine auszufüllende Ellipse mit einem schwarzen Rand
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));
// Definiere die Rand- und Füllfarbe
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);
// Fülle die Auswahl
imagefilltoborder($im, 50, 50, $border, $fill);
// Ausgeben und Speicher freigeben
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Der Algorithmus merkt sich nicht explizit, welche Pixel bereits gesetzt wurden, sondern schließt dies aus der Farbe des Pixels, so dass er nicht zwischen frisch gesetzten Pixeln und bereits gesetzten Pixeln unterscheiden kann. Das bedeutet, dass die Wahl einer beliebigen Füllfarbe, die bereits im Bild verwendet wird, zu unerwünschten Ergebnissen führen kann.