In PHP ist die ImagePolygon () -Funktion eine Funktion, die zum Zeichnen von Polygonen auf einem Bild verwendet wird. Es kann Entwicklern helfen, einfache geometrische Figuren wie Dreiecke, Rechtecke, Pentagone usw. zu generieren. Diese Funktion basiert auf der GD -Bildbibliothek. Stellen Sie daher sicher, dass die GD -Bibliothek vor der Verwendung auf Ihrem Server installiert und aktiviert ist.
bool imagepolygon(resource $image, array $points, int $num_points, int $color)
$ Bild : Zielbildressource. Es wird normalerweise durch Funktionen wie ImagecrreatTueColor () oder ImagecreateFromjpeg () erstellt.
$ Punkte : Ein Array, das alle Koordinaten des Scheitelpunkts eines Polygons enthält. Jeder Punkt im Array ist ein Koordinatenpaar in der Form [x1, y1, x2, y2, ...] .
$ num_points : Die Anzahl der Scheitelpunkte eines Polygons.
$ color : Zeichnet die Farbe des Polygons, Sie können die Farbe durch die Funktion "ImageColOralLaCate () erhalten.
<?php
// Erstellen Sie ein echtes Farbbild
$image = imagecreatetruecolor(200, 200);
// Farben zuweisen
$bg_color = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
$polygon_color = imagecolorallocate($image, 0, 0, 255); // Blaues Polygon
// Hintergrundfarbe füllen
imagefill($image, 0, 0, $bg_color);
// Definieren Sie die Eckpunkte eines Polygons
$points = [
50, 50,
150, 50,
150, 150,
50, 150
];
// Polygone zeichnen
imagepolygon($image, $points, 4, $polygon_color);
// Ausgabe Bild zum Browser
header('Content-Type: image/png');
imagepng($image);
// Zerstöre Bildressourcen
imagedestroy($image);
?>
Erstellen Sie ein Bild : Erstellen Sie ein echtes Farbbild von 200x200 durch ImageCrreatTruecolor (200, 200) .
Zuwenden Sie Farben : Verwenden Sie ImagesColoralClocate () , um Hintergrundfarben bzw. Polygonfarben weiß bzw. blau zu erstellen.
Polygone zeichnen : Definieren Sie die Eckpunkte des Polygons, geben Sie sie an die ImagePolygon () -Funktion weiter und der Parameter $ Punkte enthält das Koordinatenarray der Eckpunkte. Hier wird ein Viereck definiert, wobei Eckpunkte (50, 50), (150, 50), (150, 150) und (50, 150) sind.
Ausgabebild : Verwenden Sie Header ('Inhaltstyp: Bild/PNG'), um den Antwortheader festzulegen, den Browser darüber zu informieren, dass das PNG-Bild zurückgegeben wird, und dann imagePng () das Bild ausgeben.
Zerstören Sie Bildressourcen : Verwenden Sie ImagingStroy (), um Bildressourcen zu kosten, um Speicherleckage zu vermeiden.
Wenn Sie ein komplexeres Polygon zeichnen möchten, z. B. ein Sechseck oder ein Pentagon, müssen Sie nur die Scheitelpunktkoordinaten einstellen. Um beispielsweise ein Sechseck zu zeichnen, können Sie die Koordinaten wie diese festlegen:
$points = [
100, 20,
140, 40,
140, 80,
100, 100,
60, 80,
60, 40
];
Durch das Einstellen des $ Points -Arrays können Sie leicht Polygone verschiedener Formen zeichnen.
ImagePolygon () füllt das Polygon nicht automatisch, sondern zeichnet nur die Kanten des Polygons. Wenn Sie die Farbe füllen müssen, können Sie die Funktion von ImageFill () oder imageFilledPolygon () verwenden.
Die Scheitelpunktkoordinaten eines Polygons werden gemäß dem Koordinatensystem des Bildes definiert. Der Ursprung der Koordinaten (0, 0) befindet sich in der oberen linken Ecke des Bildes, die X -Koordinate nimmt nach rechts zu und die Y -Koordinate nimmt nach unten zu.
Wenn Sie möchten, dass das Polygon, das Sie zeichnen, einen Gradienteneffekt haben, können Sie dies tun, indem Sie den Farbwert des Gradienten berechnen. Beispielsweise können Sie für jeden Scheitelpunkt eines Polygons eine andere Farbe angeben und farbenfrohe Grafiken erstellen.
Die ImagePolygon () -Funktion ist eine sehr praktische Funktion in PHP, die zum Zeichnen verschiedener einfacher polygonaler Figuren geeignet ist. Durch Anpassen der Scheitelpunktkoordinaten können leicht Muster verschiedener Formen erzeugt werden. In Kombination mit der GD -Bildbibliothek von PHP können Entwickler komplexere Bildverarbeitungsfunktionen implementieren. Wenn Sie den Bildeffekt weiter verbessern möchten, können Sie ihn in Kombination mit anderen GD -Funktionen wie dem Hinzufügen von Gradienten, Füllen von Polygonen, Zeichnen von Kreisen usw. versuchen, ihn zu verwenden.