(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.
imageEin GdImage-Objekt, das von einer der Funktionen zur Bilderzeugung, z. B. imagecreatetruecolor(), zurückgegeben wurde.
xx-Koordinate des Anfangspunkts.
yy-Koordinate des Anfangspunkts.
border_colorDie Grenzfarbe. Eine Farbkennung, die mit imagecolorallocate() erzeugt wurde.
colorDie 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.