PHP ist eine sehr beliebte serverseitige Programmiersprache, die häufig für die Webentwicklung verwendet wird. In der Webentwicklung ist die Bildverarbeitung eine sehr häufige Anforderung, und es ist auch sehr einfach, die Bildverarbeitung in PHP zu implementieren. In diesem Artikel wird kurz die Einführung in die PHP-Bildverarbeitung vorgestellt.
1. Umgebungsanforderungen
Um die PHP-Bildverarbeitung nutzen zu können, benötigen Sie zunächst die Unterstützung der PHP-GD-Bibliothek. Die Bibliothek bietet Funktionen zum Schreiben von Bildern in Dateien oder zum Ausgeben an einen Browser, zum Zuschneiden und Skalieren von Bildern, zum Hinzufügen von Text und zum Erstellen von Graustufen oder Invertieren von Bildern. Stellen Sie daher sicher, dass auf Ihrem Server die PHP-GD-Bibliothek installiert ist.
2. Allgemeine Funktionen
imagecreatetruecolor()-Funktion wird zum Erstellen einer Echtfarben-Bildressource verwendet. Zum Beispiel:
$image = imagecreatetruecolor(200, 200);
imagecolorallocate()-Funktion wird verwendet, um einer Bildressource eine Farbe zuzuweisen. Beispiel:
$color = imagecolorallocate($image, 0, 0, 0);
Unter diesen ist $image die zuvor erstellte Bildressource und 0, 0, 0 stellt den schwarzen RGB-Wert dar.
imagefilledrectangle()-Funktion wird verwendet, um ein mit Farbe gefülltes Rechteck in der Bildressource zu zeichnen. Zum Beispiel:
imagefilledrectangle($image, 0, 0, 200, 200, $color);
wobei $color die zuvor zugewiesene Farbe ist.
imagettftext()-Funktion wird verwendet, um der Bildressource einen Text hinzuzufügen. Zum Beispiel:
$text_color = imagecolorallocate($image, 255, 255, 255); imagettftext($image, 20, 0, 50, 100, $text_color, "arial.ttf", "Hello, PHP!");
Darunter steht 20 für die Schriftgröße, 0 für den Neigungswinkel, 50 und 100 für die Koordinaten der oberen linken Ecke des Textes, arial.ttf für den Pfad der Schriftartdatei und „Hallo, PHP“. !" ist der auszugebende Text.
imagejpeg()-Funktion wird verwendet, um Bilder im JPEG-Format auszugeben. Zum Beispiel:
header("Content-Type: image/jpeg"); imagejpeg($image);
Unter diesen wird die Funktion header() verwendet, um den Content-Type-Header der Ausgabe festzulegen und dem Browser mitzuteilen, dass die Ausgabe ein Bild ist und $image die zuvor erstellte Bildressource ist.
imagedestroy()-Funktion wird zum Zerstören von Bildressourcen verwendet. Zum Beispiel:
imagedestroy($image);
3. Grundlegende Bildverarbeitung
Das Lesen und Ausgeben von Bildern ist sehr einfach, verwenden Sie einfach die Funktionen imagecreatefromjpeg() und imagejpeg(). Zum Beispiel:
$image = imagecreatefromjpeg("example.jpg"); header("Content-Type: image/jpeg"); imagejpeg($image); imagedestroy($image);
Unter diesen liest die Funktion imagecreatefromjpeg() example.jpg als Bildressource, die Funktion header() legt den Ausgabe-Content-Type-Header fest, die Funktion imagejpeg() gibt das Bild aus und die Funktion imagedestroy( )-Funktion zerstört die Bildressource.
Um Bilder zuzuschneiden und zu skalieren, müssen Sie die Funktion imagecopyresampled() verwenden. Beispiel:
$image = imagecreatefromjpeg("example.jpg"); $width = imagesx($image); $height = imagesy($image); $new_image = imagecreatetruecolor(100, 100); imagecopyresampled($new_image, $image, 0, 0, 0, 0, 100, 100, $width, $height); header("Content-Type: image/jpeg"); imagejpeg($new_image); imagedestroy($image); imagedestroy($new_image);
Unter diesen ist der erste Parameter der Funktion imagecopyresampled() die neue Bildressource, der zweite Parameter die alte Bildressource und die nächsten vier Parameter sind die X- und Y-Koordinaten der oberen linken Ecke von Die neue Bildressource und das alte Bild sind die X- und Y-Koordinaten der oberen linken Ecke des Ressourcenausschnitts, die nächsten beiden Parameter sind die Breite und Höhe der neuen Bildressource und die nächsten beiden Parameter sind die Breite und Höhe von die alte Bildressource. Zerstören Sie abschließend die Bildressource.
Um einem Bild ein Wasserzeichen hinzuzufügen, müssen Sie die Funktion imagecopy() verwenden. Zum Beispiel:
$image = imagecreatefromjpeg("example.jpg"); $watermark = imagecreatefrompng("watermark.png"); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); imagecopy($image, $watermark, 0, 0, 0, 0, $watermark_width, $watermark_height); header("Content-Type: image/jpeg"); imagejpeg($image); imagedestroy($image); imagedestroy($watermark);
Unter diesen liest die Funktion imagecreatefrompng() das Wasserzeichen als Bildressource, und die Funktion imagecopy() fügt das Wasserzeichen zu example.jpg hinzu und zerstört die Bildressource.
4. Erweiterte Bildverarbeitung
$image = imagecreatefromjpeg("example.jpg"); $width = imagesx($image); $height = imagesy($image); $new_width = 100; $new_height = ($new_width / $width) * $height; $new_image = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); header("Content-Type: image/jpeg"); imagejpeg($new_image); imagedestroy($image); imagedestroy($new_image);
Bildfilter
$image = imagecreatefromjpeg("example.jpg"); imagefilter($image, IMG_FILTER_GRAYSCALE); header("Content-Type: image/jpeg"); imagejpeg($image); imagedestroy($image);
Bildkodierung und -dekodierung
$image = imagecreatefromjpeg("example.jpg"); ob_start(); imagejpeg($image); $data = ob_get_contents(); ob_clean(); $base64 = "data:image/jpeg;base64," . base64_encode($data); echo "<img src="$base64">"; imagedestroy($image);
Das obige ist der detaillierte Inhalt vonAnfängerleitfaden zur PHP-Bildverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!