Heim  >  Artikel  >  Backend-Entwicklung  >  Bildverarbeitung mit PHP

Bildverarbeitung mit PHP

WBOY
WBOYOriginal
2023-06-22 09:25:531375Durchsuche

PHP ist eine weit verbreitete serverseitige Skriptsprache und ihre leistungsstarken Bildverarbeitungsfunktionen bieten sehr praktische Tools für Website-Entwickler. Mit der GD-Erweiterung (Image Processing Library) über PHP können Sie Bilder bearbeiten, einschließlich Skalieren, Schneiden, Drehen, Hinzufügen von Wasserzeichen, Erstellen von Miniaturansichten usw. In diesem Artikel erfahren Sie, wie Sie PHP zur Bildverarbeitung verwenden.

  1. Installieren Sie die GD-Erweiterung

Bevor wir PHP für die Bildverarbeitung verwenden, müssen wir sicherstellen, dass die GD-Erweiterung installiert ist. Mit dem folgenden Befehl können wir überprüfen, ob die GD-Erweiterung installiert wurde:

php -m|grep gd

Wenn keine Ergebnisse gefunden werden, bedeutet dies, dass die GD-Erweiterung nicht installiert wurde. Unter Linux-Systemen können wir zur Installation den folgenden Befehl verwenden:

sudo apt-get install php-gd //使用apt安装
sudo yum install php-gd //使用yum安装

Unter Windows-Systemen können wir zur Installation „extension=php_gd2.dll“ zur Erweiterungskonfiguration in der Datei php.ini hinzufügen.

  1. Bilder verarbeiten

2.1 Bilddateien öffnen

In PHP können wir die Funktionen imagecreatefromjpeg(), imagecreatefrompng() und imagecreatefromgif() verwenden, um die entsprechende Bilddatei zu öffnen.

Zum Beispiel können wir den folgenden Code verwenden, um ein Bild im JPEG-Format mit dem Namen „test.jpg“ zu öffnen:

$img = imagecreatefromjpeg("test.jpg");

2.2 Größe des Bildes ändern

Wir können die Funktion imagecopyresampled() verwenden, um die Größe des Bildes zu ändern Die Verwendung ist wie folgt:

bool imagecopyresampled(resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h)

Unter diesen repräsentiert dst_image das Zielbild, src_image repräsentiert das Quellbild, dst_x und dst_y repräsentieren die Startkoordinaten des kopierten Bereichs im Zielbild, src_x und src_y repräsentieren die Startkoordinaten des kopierten Bereichs Im Quellbild repräsentieren dst_w und dst_h die Breite und Höhe des kopierten Bereichs im Zielbild, src_w und src_h repräsentieren die Breite und Höhe des kopierten Bereichs im Quellbild.

Zum Beispiel können wir die Größe eines Bildes auf die Größe 200x200 ändern:

$img = imagecreatefromjpeg("test.jpg");
$dst_img = imagecreatetruecolor(200, 200);
imagecopyresampled($dst_img, $img, 0, 0, 0, 0, 200, 200, imagesx($img), imagesy($img));

Unter anderem wird die Funktion imagecreatetruecolor() verwendet, um ein neues Echtfarbenbild zu erstellen. Die Funktionen imagesx() und imagesy() werden verwendet, um die Breite bzw. Höhe des Quellbilds zu ermitteln.

2.3 Bild drehen

Wir können die Funktion imagerotate() verwenden, um das Bild zu drehen. Die spezifische Verwendung dieser Funktion ist wie folgt:

bool imagerotate(resource image, float angle, int bgd_color[, int ignore_transparent])

Unter diesen stellt das Bild das gedrehte Bild dar, der Winkel den Drehwinkel und bgd_color stellt die Hintergrundfarbe des Bildes dar.ignore_transparent gibt an, ob transparente Farben ignoriert werden sollen.

Zum Beispiel können wir ein Bild um 45 Grad drehen:

$img = imagecreatefromjpeg("test.jpg");
$dst_img = imagerotate($img, 45, 0);

2.4 Wasserzeichen hinzufügen

Wir können die Funktion imagecopy() verwenden, um ein Wasserzeichen hinzuzufügen:

bool imagecopy(resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)

Wo, dst_image repräsentiert das Zielbild, src_image repräsentiert das Quellbild, dst_x und dst_y repräsentieren die Startkoordinaten des kopierten Bereichs im Zielbild, src_x und src_y repräsentieren die Startkoordinaten des kopierten Bereichs im Quellbild, src_w und src_h repräsentieren die Breite und Höhe des kopierten Bereichs im Quellbild.

Zum Beispiel können wir einem Bild ein Wasserzeichen hinzufügen:

$img = imagecreatefromjpeg("test.jpg");
$watermark = imagecreatefrompng("watermark.png");
imagecopy($img, $watermark, imagesx($img)-imagesx($watermark)-10, imagesy($img)-imagesy($watermark)-10, 0, 0, imagesx($watermark), imagesy($watermark));

wobei „watermark.png“ ein Wasserzeichenbild im PNG-Format mit transparentem Hintergrund ist, das in der unteren rechten Ecke des test.jpg-Bildes hinzugefügt wird. und mit einem Randabstand von 10 Pixeln.

2.5 Miniaturansichten generieren

Wir können die Funktion imagecopyresampled() verwenden, um Miniaturansichten zu generieren:

bool imagecopyresampled(resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h)

Unter diesen repräsentiert dst_image das Zielbild, src_image repräsentiert das Quellbild, dst_x und dst_y repräsentieren die Startkoordinaten des kopierten Bereichs, src_x und src_y repräsentieren die Startkoordinaten des kopierten Bereichs im Quellbild, dst_w und dst_h repräsentieren die Breite und Höhe des kopierten Bereichs im Zielbild, src_w und src_h repräsentieren Die Breite und Höhe des kopierten Bereichs im Quellbild hoch.

Zum Beispiel können wir ein Miniaturbild mit einer Breite von 100 Pixeln generieren:

$img = imagecreatefromjpeg("test.jpg");
$dst_img = imagecreatetruecolor(100, imagesy($img)*(100/imagesx($img)));
imagecopyresampled($dst_img, $img, 0, 0, 0, 0, 100, imagesy($img)*(100/imagesx($img)), imagesx($img), imagesy($img));
  1. Speichern Sie die Bilddatei

Abschließend müssen wir die Funktionen imagejpeg(), imagepng() und imagegif() verwenden Speichern Sie die von uns verarbeiteten Bilder.

Zum Beispiel können wir den folgenden Code verwenden, um das Bild, das wir gerade verarbeitet haben, in einer Datei zu speichern:

imagejpeg($dst_img, "test_thumb.jpg");

Zusammenfassung

Durch die Verwendung der Bildverarbeitungsfunktionen von PHP können wir problemlos verschiedene Vorgänge an Bildern implementieren, einschließlich Größenänderung, Drehen und Hinzufügen Wasserzeichen erstellen, Miniaturansichten erstellen und mehr. Dies ist eine sehr nützliche Funktion für Entwickler. Ich hoffe, dass die Leser durch die Einleitung dieses Artikels die grundlegende Verwendung der PHP-Bildverarbeitung beherrschen und ihre Website-Entwicklungsarbeit komfortabler gestalten können.

Das obige ist der detaillierte Inhalt vonBildverarbeitung mit PHP. 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