In der PHP -Bildverarbeitungsfunktionsbibliothek ist ImageFillToBorder eine sehr praktische Funktion für die Farbfüllung in einem bestimmten Bereich, bis die Grenzfarbe auftritt. Diese Funktion ist bei der Bearbeitung von Bildern und der Erzeugung dynamischer Grafiken sehr häufig, insbesondere wenn komplexe Bereiche in Farbe ausgefüllt werden müssen.
In diesem Artikel wird die Verwendung der ImageFillToBorder -Funktion und dessen Arbeitsprinzip in spezifischen Fällen ausführlich vorgestellt, wodurch Sie diese Bildverarbeitungstechnik schnell beherrschen.
Die ImageFillToBorder -Funktion wird verwendet, um die Farbe aus dem angegebenen Startpunktpixel zu füllen und den Bereich zu füllen, bis eine Grenzfarbe gestoppt wird. Seine Funktionsdefinition lautet wie folgt:
bool imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color )
$ Bild : Bildressourcenhandle.
$ x , $ y : Die Koordinaten des Startfüllpunkts.
$ border : Der Indexwert der Grenzefarbe, die Füllung überschreitet diese Farbgrenze nicht.
$ color : Der für die Füllung verwendete Farbindexwert.
Rückgabe true, wenn die Polsterung erfolgreich ist, ansonsten return falsch .
Angenommen, Sie haben ein Bild mit unterschiedlichen Farbbereichen und möchten einen bestimmten Bereich mit Farbe füllen, möchten aber nicht, dass die Farbe über die Grenzen hinausgeht. Der ImageFillToBorder kann aus dem Punkt gefüllt werden, den Sie angegeben haben, bis er auf die voreingestellte Grenzefarbe stößt.
Das folgende Beispiel zeigt, wie ein Rechteck mit einem schwarzen Rand erstellt und es mit einem ImageFillToBorder in Rot füllt.
<?php
// Erstellen Sie ein leeres Bild
$width = 200;
$height = 100;
$image = imagecreatetruecolor($width, $height);
// Farben zuweisen
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$red = imagecolorallocate($image, 255, 0, 0);
// Gefüllter Hintergrund mit Weiß
imagefill($image, 0, 0, $white);
// Zeichnen Sie einen schwarzen rechteckigen Rand
imagerectangle($image, 50, 20, 150, 80, $black);
// verwenden imagefilltoborder aus(51,21)Punkte beginnen, Rot auszufüllen,Bis die schwarze Grenze auftritt
imagefilltoborder($image, 51, 21, $black, $red);
// Ausgabebild
header("Content-Type: image/png");
imagepng($image);
// Ressourcen frei machen
imagedestroy($image);
?>
Erstellen Sie zunächst ein echtes Farbbild von 200x100.
Setzen Sie weiße Hintergründe.
Zeichnen Sie einen schwarzen rechteckigen Rand.
Füllen Sie Rot von einem Punkt im Rechteck aus, bis Sie auf einen schwarzen Rand stoßen.
Direkte PNG -Formatbilder über den Browser ausgeben.
Nach dem Ausführen dieses Codes sehen Sie einen rot gefüllten Rechteckbereich mit schwarzen Grenzen und die Füllfarbe überschreitet die Grenzen nicht.
Der ImageFillToBorder wird gefüllt, bis die Grenzfarbe auftritt, sodass die Grenzfarbe genau sein muss oder die Füllung im erwarteten Bereich überschritten werden kann.
Die Grenzfarbe und die Füllfarbe können nicht gleich sein, andernfalls ist die Füllung ungültig.
Die Koordinaten des Ausgangspunkts sollten sich in einem nicht untergebrachten Bereich befinden, andernfalls gibt es keine Füllwirkung.
ImageFillToBorder ist ein wichtiges Werkzeug für die Füllung von Farben in der PHP -Bildverarbeitung und ist besonders für Szenen geeignet, in denen die Füllung durch Grenzen begrenzt werden muss. Durch rationales Festlegen des Ausgangspunkts und der Grenzfarben kann eine präzise Füllung komplexer Bildbereiche erreicht werden.
Weitere Informationen zur Bildverarbeitung finden Sie im PHP -offiziellen Handbuch: https://gitbox.net/manual/en/function.imageFillToBorder.php