In PHP werden Bildverarbeitungsfunktionen in der GD -Bibliothek, ImagecrreatTueColor () und ImageOpenPolygon () bereitgestellt, zwei der sehr nützlichen Funktionen. In diesem Artikel wird angezeigt, wie Sie mit diesen beiden Funktionen ein Bild von Grund auf neu erstellen und ein einfaches Polygon zeichnen. Wir werden Schritt für Schritt durchlaufen, wie Sie ein Bild erstellen, die Bildfarbe festlegen und die Grafiken mit der Polygon -Methode rendern.
ImageCrreatTueColor () ist eine sehr grundlegende Funktion, um eine echte Farbbildressource zu erstellen. Es empfängt zwei Parameter: die Breite und Höhe des Bildes und gibt eine Ressource zurück, die das Bild darstellt.
<?php
// Erstellen Sie eine breite 500 hoch 500 Bilder
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);
Die von dieser Funktion zurückgegebene $ image -Variable ist die Bildressource, und Sie können sie verwenden, um die Bildverarbeitungsvorgänge als nächstes auszuführen.
In Bildern müssen wir normalerweise verschiedene Farben einstellen , um Formen, Hintergründe usw. zu zeichnen. Es akzeptiert 4 Parameter: Bildressource, Rot, Grün und Blau (0-255).
// Weisen Sie Hintergrundfarbe und Polygonfarbe zu
$background_color = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
$polygon_color = imagecolorallocate($image, 0, 0, 255); // Blaues Polygon
Verwenden Sie ImageFill () , um das gesamte Bild mit der angegebenen Farbe zu füllen. Nachdem wir das Bild erstellt haben, möchten wir einen weißen Hintergrund füllen.
// Hintergrundfarbe füllen
imagefill($image, 0, 0, $background_color);
Als nächstes zeichnen wir ein Polygon mit ImagePolygon () . Die Parameter dieser Funktion umfassen Bildressourcen, Vertex -Koordinaten -Arrays und Scheitelpunktzahlen. Jeder Scheitelpunkt eines Polygons wird durch eine Koordinate (x, y) dargestellt.
// Scheitelpunktkoordinaten von Polygonen
$points = array(
150, 150,
350, 150,
400, 350,
200, 400,
100, 300
);
// Polygone zeichnen
imagepolygon($image, $points, 5, $polygon_color);
Schließlich müssen wir das erstellte Bild ausgeben. PHP bietet Funktionen wie ImagePng () , ImageJpeg () und ImageGif () , und Sie können eines davon auswählen, um Bilder entsprechend Ihren Anforderungen auszugeben. Hier verwenden wir ImagePng () , um das Bild als PNG -Format zu speichern.
// Ausgabe Bild zum Browser
header('Content-Type: image/png');
imagepng($image);
// Oder als Datei speichern
// imagepng($image, 'polygon_image.png');
Sobald das Bild generiert ist, sollten Bildressourcen veröffentlicht werden, um Speicher zu speichern.
// Zerstöre Bildressourcen
imagedestroy($image);
<?php
// Bildressourcen erstellen
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);
// Farben zuweisen
$background_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, $background_color);
// Scheitelpunktkoordinaten von Polygonen
$points = array(
150, 150,
350, 150,
400, 350,
200, 400,
100, 300
);
// Polygone zeichnen
imagepolygon($image, $points, 5, $polygon_color);
// Ausgabebild
header('Content-Type: image/png');
imagepng($image);
// Zerstöre Bildressourcen
imagedestroy($image);
?>