Bei der Arbeit mit Bildern in PHP müssen wir oft verschiedene Formen zeichnen. Zum Zeichnen von Polygonen sind ImageOpenpolygon () und Imagine () zwei sehr praktische Funktionen. In diesem Artikel wird ausführlich erläutert, wie sie zusammen verwendet werden, um Polygongrenzen zu zeichnen und ein vollständiges Beispiel zu geben.
Die ImageOpenPolygon () -Funktion wird verwendet, um einen offenen Polygonpfad zu zeichnen, dh eine Linie, die jeden Scheitelpunkt verbindet, aber die letzte Kante nicht automatisch schließt .
ImageLine () kann eine gerade Linie zwischen zwei beliebigen Punkten zeichnen, mit der Polygone manuell geschlossen werden können.
Wenn Sie einen vollständig geschlossenen Polygonrand zeichnen müssen, müssen Sie ImageOpenpolygon () verwenden und dann Imagine () verwenden, um den Startpunkt und den Endpunkt zu verbinden.
Hier ist ein Beispiel für das Zeichnen von Pentagonalgrenzen mit der PHP GD -Bibliothek:
<?php
// Erstellen Sie eine Leinwand
$width = 400;
$height = 400;
$image = imagecreatetruecolor($width, $height);
// Farben zuweisen
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
// Füllen Sie den Hintergrund
imagefill($image, 0, 0, $white);
// Definieren Sie die Eckpunkte eines Pentagons
$points = [
200, 50, // Scheitel1
350, 150, // Scheitel2
300, 300, // Scheitel3
100, 300, // Scheitel4
50, 150 // Scheitel5
];
// Polygone aufziehen
imageopenpolygon($image, $points, 5, $black);
// verwenden imageline Die letzte Kante manuell schließen(Scheitel5回到Scheitel1)
imageline($image, $points[8], $points[9], $points[0], $points[1], $black);
// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
// Ressourcen frei machen
imagedestroy($image);
?>
ImageOpenpolygon () zeichnet das Liniensegment von Scheitelpunkt 1 zu Scheitelpunkt 5, verbindet jedoch den Scheitelpunkt 5 nicht mit Scheitelpunkt 1 zurück.
Imagine () animiert das Zeilensegment manuell von Scheitelpunkt 5 bis Vertex 1 und schließt die Grenze erfolgreich.
Denken Sie nach der Verwendung von ImageOpenPolygon () daran, ImageLine () zu verwenden, um die letzte Kante zu füllen , andernfalls ist die Abbildung geöffnet.
Vertex-Koordinaten müssen in einem eindimensionalen Array aufgeführt werden, wobei alle zwei Zahlen eine Reihe von Koordinaten (x, y) sind.
Vor dem Zeichnen müssen Sie sicherstellen, dass die GD -Bibliothek korrekt installiert ist. Sie können die PHP -Umgebungsinformationen überprüfen, indem Sie https://www.m66.net/phpinfo.php besuchen.
Durch die Kombination von ImageOpenPolygon () und Imagine () können wir verschiedene Polygonfiguren flexibel zeichnen, die eine benutzerdefinierte Schließregelung erfordern. Diese Methode ist besonders nützlich, wenn sie komplexe Grafiken zeichnen oder Diagramme dynamisch generieren. Probieren wir es schnell aus!