Aktueller Standort: Startseite> Neueste Artikel> ImageOpenpolygon () wie man es für mathematische Visualisierungsdiagramme verwendet (z. B. Polygondiagramme)

ImageOpenpolygon () wie man es für mathematische Visualisierungsdiagramme verwendet (z. B. Polygondiagramme)

M66 2025-05-29

Im PHP ist ImageOpenPolygon () eine sehr praktische Bildzeichnungsfunktion, die insbesondere für die Visualisierung von Polygonstrukturen in der Mathematik geeignet ist, wie z. In diesem Artikel wird im Detail erläutert, wie Sie ImageOpenPolygon () zum Zeichnen von Polygonen verwenden und tatsächliche Fälle kombinieren können, um das Anwendungsszenario zu verstehen.

1. Was ist ImageOpenpolygon () ?

ImageOpenpolygon () ist eine Funktion in der PHP-GD-Bibliothek, die offene (d. H. Nicht entschiedene) Polygonlinien zeichnet. Im Gegensatz zu ImagePolygon () verbindet ImageOpenPolygon () nicht automatisch die ersten und letzten Punkte, sodass es besser zum Zeichnen nicht erkleiner Polyline-Diagramme geeignet ist.

Das grundlegende Funktionsformat lautet wie folgt:

 bool imageopenpolygon(
    GdImage $image,
    array $points,
    int $num_points,
    int $color
)
  • $ Bild : GD Image Resource.

  • $ Punkte : Array von Punkten (x1, y1, x2, y2, ..., xn, yn).

  • $ num_points : Die Anzahl der Punkte.

  • $ color : farbidentifier (erstellt von imageColorallocalCecy () ).

2. Wie kann man ImageOpenpolygon () verwenden?

(1) Erstellen Sie ein Basisbild und zeichnen Sie ein Polygon

Hier ist ein einfaches Beispiel, um eine offene Polylinie eines Pentagon zu zeichnen:

 <?php
// Erstellen Sie eine Leinwand
$image = imagecreatetruecolor(400, 400);

// Farben zuweisen
$white = imagecolorallocate($image, 255, 255, 255);
$blue = imagecolorallocate($image, 0, 0, 255);

// Füllen Sie den Hintergrund
imagefill($image, 0, 0, $white);

// Definieren Sie Polygonscheitelpunkte (Pentagramm,Nicht geschlossen)
$points = [
    200, 50,   // Scheitel1
    350, 150,  // Scheitel2
    300, 300,  // Scheitel3
    100, 300,  // Scheitel4
    50, 150    // Scheitel5
];

// Polygone aufziehen
imageopenpolygon($image, $points, 5, $blue);

// Ausgabe zum Browser
header('Content-Type: image/png');
imagepng($image);

// Zerstöre Bildressourcen
imagedestroy($image);
?>

Führen Sie den obigen Code aus und Sie werden ein Pentagon sehen, das aus fünf blauen Segmenten besteht, aber nicht abgelegt wird.

(2) Speichern Sie das Bild auf dem Server

Manchmal möchten Sie das Bild als Datei speichern, anstatt es direkt auszugeben. Sie können dies tun:

 <?php
$image = imagecreatetruecolor(400, 400);
$white = imagecolorallocate($image, 255, 255, 255);
$red = imagecolorallocate($image, 255, 0, 0);
imagefill($image, 0, 0, $white);

$points = [
    100, 100,
    300, 100,
    300, 300,
    100, 300
];

imageopenpolygon($image, $points, 4, $red);

// Speichern Sie das Bild auf dem lokalen Server
imagepng($image, '/var/www/m66.net/uploads/openpolygon.png');

imagedestroy($image);
?>

Der obige Code speichert das gezogene offene Viereck auf /var/www/m66.net/uploads/openpolygon.png Path.

(3) Punktkoordinaten in Kombination mit dynamischen mathematischen Formeln erzeugen

Wenn Sie möchten, dass sich die Form eines Polygons entsprechend mathematischer Formeln dynamisch verändert, z. B. das Zeichnen einer regulären N-Seite, können Sie dies tun:

 <?php
function generatePolygonPoints($centerX, $centerY, $radius, $sides) {
    $points = [];
    for ($i = 0; $i < $sides; $i++) {
        $angle = 2 * M_PI * $i / $sides;
        $x = $centerX + $radius * cos($angle);
        $y = $centerY + $radius * sin($angle);
        $points[] = $x;
        $points[] = $y;
    }
    return $points;
}

$image = imagecreatetruecolor(500, 500);
$white = imagecolorallocate($image, 255, 255, 255);
$green = imagecolorallocate($image, 0, 128, 0);
imagefill($image, 0, 0, $white);

// Dynamische Generation 7 Seitenlinie(七Seitenlinie)
$points = generatePolygonPoints(250, 250, 200, 7);

imageopenpolygon($image, $points, 7, $green);

// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

Auf diese Weise können Sie Polygone einer beliebigen Anzahl von Seiten zeichnen, indem Sie nur den Wert von $ sides ändern, was für die dynamische Anzeige mathematischer Diagramme sehr geeignet ist!

3.. Dinge zu beachten

  • ImageOpenPolyGon () erfordert die Unterstützung der GD -Erweiterung, um sicherzustellen, dass PHP die GD -Bibliothek installiert und aktiviert hat.

  • Die Länge des Punktarrays muss 2 * Punkte betragen, andernfalls tritt ein Fehler auf.

  • Wenn Sie Polygone schließen müssen, verwenden Sie ImagePolygon () anstelle von ImageOpenpolygon () .

  • Stellen Sie beim Speichern der Datei sicher, dass das Verzeichnis /var/www/m66.net/uploads/ auf dem Server bereits vorhanden ist, und verfügt über Schreibberechtigungen.

4. Zusammenfassung

ImageOpenpolygon () ermöglicht es uns, mathematische Grafiken in PHP leicht zu visualisieren. Es ist nicht nur für grundlegende Grafikzeichnungen geeignet, sondern kann auch mit mathematischen Formeln kombiniert werden, um reichhaltige dynamische Anzeigeeffekte zu erzielen. Durch das Mastering können Sie Ihre PHP -Bildverarbeitungs- und Datenvisualisierungsfunktionen auf die nächste Ebene bringen!