Mit der rasanten Entwicklung des Internets ist die Bildverarbeitung zu einem unverzichtbaren Bestandteil moderner Webanwendungen geworden. Unabhängig davon, ob Sie ein normaler Benutzer oder ein Branchenprofi sind, müssen Sie häufig eine Vielzahl von Bildern erstellen und bearbeiten.
Als Reaktion auf diesen Bedarf ist PHP für viele Webanwendungen zur Sprache der Wahl geworden. Es verfügt über viele umfangreiche Bibliotheken und Funktionen zur bequemen Verarbeitung von Bildern. In diesem Artikel zeigen wir Ihnen, wie Sie mit PHP eine Funktion erstellen, die automatisch Bilder generiert.
1. Verstehen Sie die GD-Bibliothek und ImageMagick
Ganz gleich, ob Sie PHP zum automatischen Generieren von Bildern oder eine andere Programmiersprache verwenden, Sie müssen eine Bildverarbeitungsbibliothek verwenden. In PHP sind GD und ImageMagick die beiden am häufigsten verwendeten Bildverarbeitungsbibliotheken.
Die GD-Bibliothek ist eine PHP-Erweiterung zum Erstellen und Verarbeiten verschiedener Arten von Bilddateien. Es kann JPEG, PNG, GIF und andere Bildformate generieren und verarbeiten, was für Programmierer sehr praktisch ist.
ImageMagick ist eine flexiblere Bibliothek, die mehrere Bildformate unterstützt, darunter PNG, GIF, JPEG, TIFF und SVG. Und es kann in vielen verschiedenen Betriebssystemen verwendet werden.
2. Erstellen Sie eine einfache Leinwand
Zuerst müssen wir eine Bildleinwand erstellen und diese dann als Bilddatei speichern.
Verwenden Sie die GD-Bibliothek, um eine Leinwand zu erstellen. Sie müssen den folgenden Code verwenden:
$width = 400; // Legen Sie die Leinwandbreite fest.
$height = 200; // Legen Sie die Leinwandhöhe fest.
$image = imagecreatetruecolor( $width, $height) ; // Ein neues Echtfarbenbild erstellen
Mit dem obigen Code haben Sie erfolgreich eine Leinwand mit einer Breite von 400 Pixeln und einer Höhe von 200 Pixeln erstellt.
Als nächstes dekorieren wir unsere Leinwand mit einigen Grundelementen wie Linien, Rechtecken, Kreisen usw.
3. Elemente zur Leinwand hinzufügen
Bevor wir Elemente zum Bild hinzufügen, müssen wir zunächst die zu verwendende Farbe angeben.
Bei Verwendung der GD-Bibliothek müssen Sie die Farbe mit dem folgenden Code definieren:
$red = imagecolorallocate($image, 255, 0, 0); // red
$green = imagecolorallocate($image, 0, 255, 0) ; // Grün
$blue = imagecolorallocate($image, 0, 0, 255); // Blau
Hier konvertiert die Funktion „imagecolorallocate“ die drei ganzzahligen Parameter, die Sie angeben, in das RGB-Farbformat. Der erste Parameter ist die Bildobjektinstanz, die von der Funktion imagecreatetruecolor zurückgegeben wird.
Wir verwenden den folgenden Code, um eine horizontale Linie auf der Leinwand zu zeichnen:
imagesetthickness($image, 5); // Legt die Breite der Linie fest
imageline($image, 0, 100, 400, 100, $red ); // Eine Linie von (0,100) bis (400,100) zeichnen
Verwenden Sie die Funktion „imagecolorallocate“, um die Farbreihenfolge festzulegen, verwenden Sie die Funktion „imageline“, um die Linie auf der Leinwand zu zeichnen, und stellen Sie sie auf Rot ein.
Als nächstes zeichnen wir ein Rechteck:
imagerectangle($image, 100, 50, 300, 150, $green); // Zeichnen Sie ein Rechteck zwischen den Punkten (100,50) bis (300,150)
Sie sehen, wir Verwenden Sie die Funktion „imagerectangle“, um das Rechteck zu zeichnen. Es braucht auch einen Farbparameter, hier haben wir Grün gewählt.
Schließlich fügen wir der Leinwand einen gefüllten Kreis hinzu. Der Code lautet wie folgt:
imagefilledellipse($image, 200, 100, 150, 150, $blue); // Füllen Sie eine Ellipse mit einem Radius von 75
Kreis und Rechteck Ähnlich wie bei Linien entspricht die Breite eines gefüllten Kreises oder einer Ellipse nicht der angegebenen Linienbreite, sondern dem angegebenen Durchmesser bzw. der angegebenen Länge und Breite.
4. Speichern Sie das Bild als Datei
Wir sind jetzt bereit, das Bild als Datei zu speichern. Der Arbeitsablauf mit der GD-Bibliothek ist sehr einfach. Übergeben Sie einfach das Bildobjekt an die Funktion imagepng (zum Beispiel), um das Bild an den Browser auszugeben.
Um das Bild als Datei zu speichern, müssen Sie den folgenden Code verwenden:
imagepng($image, 'image.png'); // Speichern Sie das Bild als „image.png“-Datei
Das wird sein in Ihrem Code Erstellen Sie eine PNG-Datei mit dem Namen „image.png“ im Verzeichnis.
5. Umfassende Anwendung
Jetzt haben wir mehrere Funktionen zum Erstellen grundlegender grafischer Elemente kennengelernt. Als Nächstes wenden wir eine Kombination dieser Funktionen an, um eine Bilddatei mit dem Namen „myimage.jpg“ zu erstellen, die 10 zufällige Zeilen mit gleichem Abstand enthält.
$width = 600;
$height = 400;
$image = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0 , 0, $white);
for($i=0; $i<11; $i++){
$x1 = $i * $width / 10; $y1 = rand(0, $height); $x2 = $width - $x1; $y2 = rand(0, $height); $color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255)); imagesetthickness($image, 2); imageline($image, $x1, $y1, $x2, $y2, $color);
}
header('Content-type: image/jpeg');
imagejpeg($image, 'myimage.jpg');
Der obige Code erstellt eine leere Leinwand mit einer Breite von 600 Pixeln und einer Höhe von 400 Pixeln. Zeichnen Sie dann 10 zufällige Linien auf diese Leinwand. Jede Linie hat eine zufällige Farbe. Speichern Sie abschließend dieses neue Bild als „myimage.jpg“-Datei.
Zusammenfassung
In diesem Artikel haben wir gelernt, wie man eine Anwendung erstellt, die mithilfe der PHP-GD-Bibliothek automatisch Bilder generiert. Wir haben gelernt, wie man neue Leinwände erstellt, Farben manipuliert, Linien zeichnet, Rechtecke zeichnet, Ellipsen zeichnet und Bilddateien generiert.
Mit diesen grundlegenden Techniken können Sie Ihre eigenen Bildgeneratoren, einfache Datenvisualisierungstools und Bildverarbeitungssoftware erstellen. Im Allgemeinen besteht in der Webbranche immer häufiger die Notwendigkeit, Bilder automatisch zu generieren, und die Verwendung von PHP und seinen Bibliotheken wie GD und ImageMagick kann Ihnen dabei helfen, diese Ideen einfach umzusetzen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP zum automatischen Generieren von Bildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!