Heim  >  Artikel  >  Backend-Entwicklung  >  Anfängerleitfaden zur PHP-Bildverarbeitung

Anfängerleitfaden zur PHP-Bildverarbeitung

王林
王林Original
2023-06-11 08:49:141112Durchsuche

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

  1. imagecreatetruecolor()-Funktion

imagecreatetruecolor()-Funktion wird zum Erstellen einer Echtfarben-Bildressource verwendet. Zum Beispiel:

$image = imagecreatetruecolor(200, 200);
  1. imagecolorallocate()-Funktion

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.

  1. imagefilledrectangle()-Funktion

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.

  1. imagettftext()-Funktion

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.

  1. imagejpeg()-Funktion

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.

  1. imagedestroy()-Funktion

imagedestroy()-Funktion wird zum Zerstören von Bildressourcen verwendet. Zum Beispiel:

imagedestroy($image);

3. Grundlegende Bildverarbeitung

  1. Bilder lesen und ausgeben

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.

  1. Bilder zuschneiden und skalieren

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.

  1. Wasserzeichen hinzufügen

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

  1. Bildminiaturansichten sind eine sehr häufige Anforderung in der Webentwicklung. Die PHP-GD-Bibliothek bietet auch sehr praktische Funktionen zum Generieren von Miniaturansichten. Zum Beispiel:
  2. $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);
Lesen Sie unter anderem zuerst das Originalbild, berechnen Sie die neue Breite und Höhe, verwenden Sie die Funktion imagecreatetruecolor(), um eine neue Bildressource zu erstellen, und verwenden Sie die Funktion imagecopyresampled(), um das alte Bild auf die neue Breite zu verkleinern und Höhe, und schließlich Ausgabe eines neuen Bildes, Zerstörung der Bildressourcen.

Bildfilter

  1. Bildfilter können Ihren Bildern sehr coole Effekte hinzufügen. In der PHP-GD-Bibliothek kann dies einfach mit der Funktion imagefilter() erreicht werden. Zum Beispiel:
  2. $image = imagecreatefromjpeg("example.jpg");
    imagefilter($image, IMG_FILTER_GRAYSCALE);
    header("Content-Type: image/jpeg");
    imagejpeg($image);
    imagedestroy($image);
Darunter ist IMG_FILTER_GRAYSCALE ein Graustufenfilter, der das Bild in Graustufen umwandeln kann.

Bildkodierung und -dekodierung

  1. In der Webentwicklung ist es üblich, Bilder zur Anzeige in HTML in die Base64-Kodierung zu konvertieren. Die PHP-GD-Bibliothek bietet die Funktionen imagejpeg() und imagepng() zur direkten Ausgabe der Base64-Kodierung. Zum Beispiel:
  2. $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);
Darunter aktiviert die Funktion ob_start() den Ausgabecache, die Funktion imagejpeg() gibt das Bild in den Cache aus, die Funktion ob_get_contents() ruft die Daten im Cache ab und die Funktion ob_clean() löscht Der Cache und die Funktion base64_encode() Die Daten werden Base64-codiert und schließlich wird ein img-Tag mit Base64-Codierung als Wert seines src-Attributs generiert. Bildressourcen zerstören.

Fazit

Das Obige ist eine Einführung in die PHP-Bildverarbeitung. In dieser Anleitung können Sie die Grundfunktionen und allgemeinen Funktionen der PHP-GD-Bibliothek verstehen und anhand von Beispielen lernen, wie Sie die Bildverarbeitung und erweiterte Bildverarbeitung implementieren. Ich glaube, dass Anfänger bereits über ein gewisses Verständnis und praktische Grundlagen verfügen. Was hier vorgestellt wird, ist natürlich nur eine sehr grundlegende und einfache Funktion. Ich hoffe, dass die Leser sie ausführlich erlernen und üben können, um mehr Möglichkeiten für ihre eigene Webentwicklung zu bieten.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn