Bei der Verarbeitung von Bildern mit PHP ist die ImageOpenPolygon -Funktion ein sehr nützliches Werkzeug, mit dem Polygone gezeichnet werden können. Wenn jedoch komplexe polygonale Grafiken debuggen, ist es jedoch möglicherweise nicht klar genug. Zu diesem Zeitpunkt kann die Markierungskoordinatenpunktzahlen neben jedem Scheitelpunkt die Effizienz der Visualisierung und des Debuggens erheblich verbessern.
Im Folgenden werden wir Schritt für Schritt vorstellen, wie Sie mit PHP gepunktete Polygone zeichnen.
Zunächst müssen Sie sicherstellen, dass Ihre PHP -Umgebung die GD -Bibliotheksunterstützung ermöglicht hat. Sie können bestätigen von:
<?php
if (function_exists('gd_info')) {
echo "GDDie Bibliothek ist aktiviert";
} else {
echo "GDBibliothek nicht aktiviert";
}
?>
Wenn nicht aktiviert, öffnen Sie die Erweiterung = GD in php.ini .
Hier ist ein vollständiges Beispiel für Code, das die Sequenznummer neben jedem Punkt zeichnet und bezeichnet:
<?php
// Erstellen Sie eine Leinwand
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);
// Definieren Sie die Farbe
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$red = imagecolorallocate($image, 255, 0, 0);
// Füllen Sie den Hintergrund
imagefill($image, 0, 0, $white);
// Definieren Sie den Punkt eines Polygons(Sogar Zahl,Alle zwei Zahlen sind eine Gruppex, y)
$points = [
100, 100,
200, 80,
300, 150,
250, 300,
150, 250
];
// Polygone aufziehen
imageopenpolygon($image, $points, count($points) / 2, $black);
// Beachten Sie die Punktnummer neben jedem Punkt
for ($i = 0; $i < count($points); $i += 2) {
$x = $points[$i];
$y = $points[$i + 1];
$label = 'P' . ($i / 2);
// Text markieren
imagestring($image, 3, $x + 5, $y + 5, $label, $red);
// Kleine Punkte können gezeichnet werden, um Koordinaten darzustellen
imagefilledellipse($image, $x, $y, 6, 6, $red);
}
// Ausgabe Bild zum Browser
header('Content-Type: image/png');
imagepng($image);
// Speichern in Datei speichern
// imagepng($image, '/path/to/save/mypolygon.png');
// Ressourcen zerstören
imagedestroy($image);
?>
Dieser Code wird:
Erstellen Sie eine 500 × 500 weiße Hintergrund -Leinwand
Zeichnen Sie ein nicht eingeläutes Polygon mit ImageOpenpolygon
Zeichnen Sie einen kleinen roten Punkt an jedem Scheitelpunkt
Markieren Sie die Punktzahlen neben den kleinen roten Punkten mit Rot wie P0, P1, P2 usw.
Wenn Sie möchten, dass das Bild direkt anstelle von Ausgabe gespeichert wird, können Sie das Linienbildpng ($ image, /path/to/save/mypolygon.png ') überzeugen; und ändern Sie den Speicherpfad nach Bedarf.
Zum Beispiel können Sie den Weg ändern zu:
imagepng($image, 'https://m66.net/uploads/mypolygon.png');
(Hinweis: Tatsächlich kann ImagePng nur auf den lokalen Pfad des Servers gespeichert werden. Wenn Sie über eine URL darauf zugreifen möchten, muss die Datei im entsprechenden Serververzeichnis platziert werden.)
Diese Technik ist ideal für:
Entwickeln und Debuggen von Polygon Area Division
Markieren Sie polygonale Bereiche im Kartensystem
Vergleich der Positionen verschiedener Eckpunkte bei der Visualisierung von Daten
Grafikalgorithmus -Lehre Demonstration
Durch Hinzufügen von Zahlen zu jedem Punkt im Polygon können die Anordnungsreihenfolge und die logische Beziehung jedes Punktes intuitiv gesehen werden, was die Effizienz von Entwicklung und Debugging erheblich verbessert.
Durch die Kombination von ImageOpenpolygon , Imagestring und Bildgeschwindigkeit können wir leicht Polygonfiguren mit Koordinatenzahlen in PHP zeichnen. Dies verbessert nicht nur die Lesbarkeit der Grafiken, sondern erleichtert auch die nachfolgende logische Verarbeitung und Fehlerbehebung.