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