Heim > Artikel > Backend-Entwicklung > So ändern Sie Bilder mit PHP
Durch die kontinuierliche Weiterentwicklung von Webanwendungen müssen wir Bilder auf unseren Websites häufig stapelweise ändern und anpassen. PHP ist eine weit verbreitete Web-Programmiersprache und bietet außerdem viele integrierte Funktionen und Klassen, die das Ändern von Bildern erleichtern. In diesem Artikel wird erläutert, wie Sie mit PHP Bilder ändern.
Bevor wir mit der Bearbeitung von Bildern beginnen, müssen wir einige gängige Bildformate verstehen. Zu den gängigen Bildformaten gehören JPEG, PNG, GIF usw. Ihre Dateierweiterungen sind .jpg, .png bzw. .gif. Bei der Verarbeitung von Bildern ist es wichtig, das Format des Bildes zu kennen, da jedes Format seine eigenen spezifischen Verarbeitungsmethoden und Eigenschaften hat.
In PHP können wir mit der Funktion imagecreatetruecolor() ein neues leeres Bild erstellen. Syntax:
$image = imagecreatetruecolor(width, height);
Die Parameter Breite und Höhe repräsentieren die Breite und Höhe des neu erstellten Bildes. Dieses leere Bild kann als Basisbild verwendet werden, das zum Hinzufügen von Text oder anderen Bildern usw. verwendet werden kann.
Wenn wir ein vorhandenes Bild ändern, müssen wir eine vorhandene Datei laden und sie nach Bedarf ändern. In PHP können wir Bilder in den Formaten JPEG, PNG und GIF mit den Funktionen imagecreatefromjpeg(), imagecreatefrompng() und imagecreatefromgif() laden. Diese Funktionen laden Bilddateien in den Speicher, sodass wir sie nach Belieben ändern können.
Syntax:
$image = imagecreatefromjpeg('example.jpg'); //加载一个JPEG格式的图像 $image = imagecreatefrompng('example.png'); //加载一个PNG格式的图像 $image = imagecreatefromgif('example.gif'); //加载一个GIF格式的图像
Hier laden wir ein Bild im JPEG-Format mit dem Namen „example.jpg“. Um Bilder in verschiedenen Formaten zu laden, ändern Sie einfach die entsprechende Funktion und Dateierweiterung.
Die Größenänderung eines Bildes ist eine einfache Möglichkeit, Ihr Bild zu ändern. Wir können die Funktion imagecopyresampled verwenden, um die Größe des Bildes zu ändern. Diese Funktion kopiert ein Bild auf ein anderes Bild und ändert dessen Größe auf die angegebene Größe.
Syntax:
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_width, $dst_height, $src_width, $src_height);
Der Parameter $dst_image ist das Zielbild (d. h. das neue Bild) und $src_image ist das Quellbild (d. h. das Originalbild). $dst_x und $dst_y sind die Koordinaten des Zielbildes, $src_x und $src_y sind die Koordinaten des Quellbildes. $dst_width und $dst_height sind die Breite und Höhe des Zielbilds, $src_width und $src_height sind die Breite und Höhe des Quellbilds. Die Funktion extrahiert einen Teil des Quellbilds in der angegebenen Größe und kopiert ihn in das Zielbild.
Das Folgende ist ein Beispielcode zum Skalieren eines Bildes mit der Funktion imagecopyresampled():
$src_image = imagecreatefromjpeg('example.jpg'); //加载原始图像 list($width, $height) = getimagesize('example.jpg'); //获取原始图像尺寸 $scale = 0.5; // 缩放比例 $dst_image = imagecreatetruecolor($width * $scale, $height * $scale); // 创建缩小的目标图像 // 缩小原始图像 imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $width * $scale, $height * $scale, $width, $height); // 输出图像 header('Content-Type: image/jpeg'); imagejpeg($dst_image); imagedestroy($src_image); imagedestroy($dst_image);
Das Füllen eines Bildes bezieht sich auf den Vorgang des Hinzufügens eines Fleckens einer bestimmten Farbe zu einem bestimmten Bereich in einem Bild. Dies wird normalerweise zum Hinzufügen von Hintergründen und Farbfiltern verwendet. In PHP können wir die Funktion imagefill() verwenden, um Bilder zu füllen. Diese Funktion akzeptiert zwei Parameter: $image und $color. Der Parameter $image ist das Bild, das gefüllt werden muss, und $color ist die angegebene Farbe.
Hier ist ein Beispielcode, um die Hintergrundfarbe des Bildes mit Weiß zu füllen:
$image = imagecreatefromjpeg('example.jpg'); //加载原始图像 // 获取图像宽度和高度 list($width, $height) = getimagesize('example.jpg'); // 创建一个白色的填充 $white = imagecolorallocate($image, 255, 255, 255); // 填充图像背景 imagefill($image, 0, 0, $white); // 输出图像 header('Content-type: image/jpeg'); imagejpeg($image); imagedestroy($image);
Das Hinzufügen von Text zu Bildern ist ein häufiger Bedarf. Die integrierten Funktionen wie imagestring(), imagestringup(), imagettftext() und imagettfbbox() in PHP können problemlos Text zu Bildern hinzufügen.
Hier ist ein Beispielcode zum Hinzufügen von rotem Text zu einem Bild:
$image = imagecreatefromjpeg('example.jpg'); //加载原始图像 // 创建颜色 $text_color = imagecolorallocate($image, 255, 0, 0); //红色 // 添加文本 imagestring($image, 5, 50, 50, 'Hello, world!', $text_color); //渲染文本 // 输出图像 header('Content-type: image/jpeg'); imagejpeg($image); imagedestroy($image);
Zuletzt müssen wir das geänderte Bild auf dem Server oder auf unserem lokalen Computer speichern. In PHP können wir die Funktionen imagejpeg(), imagepng() und imagegif() verwenden, um Bilder im JPEG-, PNG- oder GIF-Format in einem angegebenen Verzeichnis zu speichern.
Hier ist ein Beispielcode zum Speichern des geänderten Bildes im JPEG-Format:
$dst_image = imagecreatefromjpeg('example.jpg'); //加載原始图像 list($width, $height) = getimagesize('example.jpg'); // 获取原始图像尺寸 // 调整图像大小 imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $width * $scale, $height * $scale, $width, $height); // 保存图像为JPEG格式 imagejpeg($dst_image, 'example_new.jpg', 100); // 输出图像 header('Content-type: image/jpeg'); imagejpeg($dst_image); // 销毁图像资源 imagedestroy($src_image); imagedestroy($dst_image);
Zusammenfassung
Ändern Sie Bilder schnell und einfach in PHP mithilfe integrierter Funktionen und Klassen. Durch die Beherrschung von Vorgängen wie Laden, Größenänderung, Füllen, Hinzufügen von Text und Speichern von Bildern können wir ganz einfach wunderschöne Bilder erstellen. Obwohl sich die entsprechenden Technologien ständig weiterentwickeln und verändern, sind diese Grundoperationen immer ein wichtiger Bestandteil der Bildverarbeitung und die grundlegenden Fähigkeiten, mit denen wir vertraut sein müssen.
Das obige ist der detaillierte Inhalt vonSo ändern Sie Bilder mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!