In PHP ist die Bildverarbeitung eine der häufigsten Bedürfnisse. Mit Hilfe der GD -Bibliothek können Entwickler viele Operationen auf Bildern ausführen, z. B. Zeichnen von Grafiken, Text, Größe, Anbaus usw. Die ImageOpenPolygon () -Funktion ist ein sehr nützliches Tool, mit dem Sie Polygonformen auf Bildern zeichnen können, was für einige komplexe Grafikdesigns oder Bildnotationsanwendungsszenarien sehr wichtig ist.
Die ImageOpenPolygon () -Funktion ist eine Funktion in der GD -Bibliothek, mit der ein Polygon auf einem Bild gezeichnet werden kann. Sie müssen ein Array mit mehreren Scheitelpunktkoordinaten übergeben, und das Polygon kann durch Festlegen der Farbe gefüllt werden. Die ImageOpenPolygon () -Funktion ist ein sehr leistungsstarkes Bildzeichnungswerkzeug, das für Szenarien wie Bildannotation und grafische Zeichnung geeignet ist.
bool imageopenpolygon(resource $image, array $points, int $num_points, int $color)
$ bild : Bildressource, normalerweise durch Funktionen wie Imagecreate () oder ImagecreateFromjpeg () erstellt.
$ Punkte : Ein Array, das mehrere Scheitelpunktkoordinaten enthält. Jeder Scheitelpunkt ist ein Array mit X- und Y -Werten.
$ num_points : Die Anzahl der Polygonscheitelpunkte, dh die Anzahl der Elemente im $ Points -Array.
$ Farbe : Füllt die Farbe des Polygons. Sie können Farben über die Funktion "ImageColOralLaCate () zuweisen.
Rückgabe true, wenn die Zeichnung erfolgreich ist; Rückgeben Sie False, wenn es fehlschlägt.
Zunächst müssen wir eine Bildressource erstellen. Sie können ImageCreate () verwenden, um ein leeres Bild zu erstellen oder ImaginecreateFromjpeg () , ImagecreateFrommpng () und andere Funktionen zum Laden von Bildern aus vorhandenen Bilddateien zu laden.
<?php
// Erstellen Sie eine breite 500px,hoch 500px Bilder
$image = imagecreate(500, 500);
// Hintergrundfarbe setzen(Weiß)
$backgroundColor = imagecolorallocate($image, 255, 255, 255);
?>
Als nächstes müssen wir die Scheitelpunktkoordinaten des Polygons definieren. Diese Koordinaten werden verwendet, um die Grenzen des Polygons zu ziehen.
<?php
// Definieren Sie ein einfaches Dreieck,Koordinaten von drei Scheitelpunkten
$points = [
[100, 100], // Der erste Scheitelpunkt (100, 100)
[200, 100], // Der zweite Scheitelpunkt (200, 100)
[150, 200] // Der dritte Scheitelpunkt (150, 200)
];
?>
Definieren Sie dann die Farbe des Zeichnungspolygons. Sie können jede Farbe auswählen und sie einfach in das RGB -Format umwandeln.
<?php
// Definition von Rot
$red = imagecolorallocate($image, 255, 0, 0);
?>
Verwenden Sie die ImageOpenPolygon () -Funktion, um ein Polygon zu zeichnen. Übergeben Sie Bildressourcen, Scheitelpunkte, Scheitelpunkte und Farben.
<?php
// Polygone zeichnen
imageopenpolygon($image, $points, count($points), $red);
?>
Schließlich können wir das Bild ausgeben oder es als Datei speichern.
<?php
// Ausgabe Bild zum Browser
header('Content-Type: image/png');
imagepng($image);
// Bildressourcen freigeben
imagedestroy($image);
?>
Nach der Ausführung des obigen Codes zeigt der Browser ein Bild von 500 x 500 Pixel an, das ein rotes Dreieck enthält. Sie können die Eckpunkte und Farben des Polygons nach Bedarf einstellen.
Eine gemeinsame Anwendung der Funktion imageOpenpolygon () besteht darin, Bilder zu kennzeichnen. Zum Beispiel können Sie es verwenden, um einen Bereich zu kennzeichnen und wichtige Grafikteile hervorzuheben. Angenommen, wir müssen einen Polygonbereich auf einem Bild zeichnen, um einen Teil hervorzuheben. Hier sind die spezifischen Implementierungsschritte:
<?php
// Laden Sie ein Hintergrundbild
$image = imagecreatefromjpeg('https://m66.net/example.jpg');
// Überprüfen Sie, ob das Bild erfolgreich geladen ist
if (!$image) {
die('Image kann nicht geladen werden');
}
?>
<?php
// Definieren Sie den Scheitelpunkt eines rechteckigen Bereichs
$points = [
[50, 50],
[450, 50],
[450, 450],
[50, 450]
];
// Grüne Farbe
$green = imagecolorallocate($image, 0, 255, 0);
// Zeichne ein Rechteck
imageopenpolygon($image, $points, count($points), $green);
// Ausgabebild
header('Content-Type: image/jpeg');
imagejpeg($image);
// Bildressourcen freigeben
imagedestroy($image);
?>
Durch diese Schritte können Sie Polygone auf jedes Bild zeichnen und eine weitere Bildverarbeitung entsprechend Ihren Anforderungen durchführen, z. B. das Speichern von Bildern, das Anpassen der Transparenz der Grafiken usw.
In PHP ist die ImageOpenPolygon () -Funktion ein sehr nützliches Werkzeug, das insbesondere zum Zeichnen von Polygonen in der Bildverarbeitung und Grafikzeichnung geeignet ist. Es kann verschiedene Formen zeichnen, indem sie mehrere Scheitelpunktkoordinaten übergeben und die Polygone mit Farben füllen, wodurch die Ausdruckskraft und Funktionalität des Bildes erheblich verbessert wird. Hoffentlich kann dieser Artikel Ihnen helfen, zu verstehen, wie Sie die Funktion imageOpenpolygon () verwenden und seiner Rolle in praktischen Anwendungen eine vollständige Rolle verleihen.