imagefilltoborder
(PHP 4, PHP 5, PHP 7, PHP 8)
imagefilltoborder — Füllt einen Bereich mit einer bestimmten Farbe
Beschreibung
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.
Parameter-Liste
-
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.
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
image erwartet nun eine
GdImage-Instanz; vorher wurde eine
Ressource erwartet.
|
Beispiele
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:
Anmerkungen
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.