Aktueller Standort: Startseite> Neueste Artikel> Zeichnen Sie Koordinatenpunktmarkierungen, um die Debugie von polygonalen Grafiken zu unterstützen

Zeichnen Sie Koordinatenpunktmarkierungen, um die Debugie von polygonalen Grafiken zu unterstützen

M66 2025-05-29

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.

1. Vorbereitung

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 .

2. Erstellen Sie eine Leinwand und zeichnen Sie ein Polygon

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);
?>

3. Ergebnisanalyse

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.)

4. Praktische Anwendungsszenarien

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.

Zusammenfassung

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.