Heim > Backend-Entwicklung > PHP-Tutorial > So schneiden Sie Bilder mit PHP zu und ändern ihre Größe

So schneiden Sie Bilder mit PHP zu und ändern ihre Größe

王林
Freigeben: 2023-08-18 13:06:01
Original
1972 Leute haben es durchsucht

So schneiden Sie Bilder mit PHP zu und ändern ihre Größe

So verwenden Sie PHP zum Zuschneiden und Zoomen von Bildern

Einführung: In der Webentwicklung ist es häufig erforderlich, Bilder zuzuschneiden und zu zoomen. Als beliebte serverseitige Sprache bietet PHP eine Fülle von Bildverarbeitungsfunktionen und Bibliotheken, um verschiedene Vorgänge an Bildern zu erleichtern. In diesem Artikel wird die Verwendung von PHP zum Zuschneiden und Zoomen von Bildern vorgestellt und entsprechende Codebeispiele bereitgestellt.

1. Bild zuschneiden

Bild zuschneiden bedeutet, den benötigten Teil aus dem Originalbild auszuschneiden. In PHP kann das Zuschneiden von Bildern mithilfe der von der GD-Bibliothek bereitgestellten Funktionen erreicht werden.

Schritt 1: Öffnen Sie das Originalbild

Zuerst müssen wir das Originalbild öffnen und eine Bildressource mit Funktionen wie imagecreatefromjpeg() oder imagecreatefrompng() erstellen . imagecreatefromjpeg()imagecreatefrompng()等函数创建一个图片资源。

$sourceImage = imagecreatefromjpeg('original.jpg');
Nach dem Login kopieren
Nach dem Login kopieren

步骤2:创建目标图片

接下来,我们需要创建一个目标图片,作为裁剪后的结果。可以使用imagecreatetruecolor()函数创建一个与原始图片一样大小的图片资源。

$width = imagesx($sourceImage);
$height = imagesy($sourceImage);

$targetImage = imagecreatetruecolor($width, $height);
Nach dem Login kopieren

步骤3:裁剪图片

使用函数imagecopy()将原始图片中的一部分复制到目标图片中。需要传入原始图片资源、目标图片资源、目标图片的起始坐标和原始图片的起始坐标。下面以从原始图片中截取中间一部分作为示例。

$targetX = 0;
$targetY = 0;
$sourceX = $width / 4;
$sourceY = $height / 4;
$targetWidth = $width / 2;
$targetHeight = $height / 2;
$sourceWidth = $width / 2;
$sourceHeight = $height / 2;

imagecopy($targetImage, $sourceImage, $targetX, $targetY, $sourceX, $sourceY, $targetWidth, $targetHeight);
Nach dem Login kopieren

步骤4:保存结果图片

最后,我们需要将裁剪后的结果保存到文件中。使用imagejpeg()函数将目标图片保存为JPEG格式的文件。

imagejpeg($targetImage, 'cropped.jpg');
Nach dem Login kopieren

至此,我们完成了对图片的裁剪操作。

二、缩放图片

缩放图片是指按照一定比例改变图片的尺寸。在PHP中,我们可以使用GD库提供的函数来实现图片的缩放。

步骤1:打开原始图片

同样,我们首先需要使用imagecreatefromjpeg()imagecreatefrompng()等函数打开原始图片。

$sourceImage = imagecreatefromjpeg('original.jpg');
Nach dem Login kopieren
Nach dem Login kopieren

步骤2:计算缩放后的尺寸

计算出目标图片的宽度和高度,可以按比例缩放或指定固定的尺寸。

$scale = 0.5; // 缩放比例,此处为缩小一半
$targetWidth = imagesx($sourceImage) * $scale;
$targetHeight = imagesy($sourceImage) * $scale;
Nach dem Login kopieren

步骤3:创建目标图片

在创建目标图片时,需要使用imagecreatetruecolor()函数指定目标图片的尺寸。

$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
Nach dem Login kopieren

步骤4:缩放图片

使用函数imagecopyresampled()将原始图片按照指定的尺寸缩放到目标图片中。

imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, imagesx($sourceImage), imagesy($sourceImage));
Nach dem Login kopieren

步骤5:保存结果图片

最后,使用imagejpeg()imagepng()

imagejpeg($targetImage, 'resized.jpg');
Nach dem Login kopieren
Schritt 2: Zielbild erstellen

Als nächstes müssen wir ein Zielbild als Zuschnittergebnis erstellen. Sie können die Funktion imagecreatetruecolor() verwenden, um eine Bildressource zu erstellen, die dieselbe Größe wie das Originalbild hat.

rrreee

Schritt 3: Bild zuschneiden

Verwenden Sie die Funktion imagecopy(), um einen Teil des Originalbilds in das Zielbild zu kopieren. Sie müssen die Originalbildressource, die Zielbildressource, die Startkoordinaten des Zielbilds und die Startkoordinaten des Originalbilds übergeben. Im Folgenden finden Sie ein Beispiel für die Aufnahme des Mittelteils aus dem Originalbild.
    rrreee
  • Schritt 4: Speichern Sie das resultierende Bild
  • Zuletzt müssen wir das zugeschnittene Ergebnis in einer Datei speichern. Verwenden Sie die Funktion imagejpeg(), um das Zielbild als Datei im JPEG-Format zu speichern.
  • rrreee
An diesem Punkt haben wir den Zuschneidevorgang des Bildes abgeschlossen. 🎜🎜2. Bilder zoomen🎜🎜Bilder zoomen bedeutet, die Größe des Bildes entsprechend einem bestimmten Verhältnis zu ändern. In PHP können wir die von der GD-Bibliothek bereitgestellten Funktionen verwenden, um eine Bildskalierung zu erreichen. 🎜🎜Schritt 1: Öffnen Sie das Originalbild🎜🎜Ähnlich müssen wir zuerst das Originalbild mit Funktionen wie imagecreatefromjpeg() oder imagecreatefrompng() öffnen. 🎜rrreee🎜Schritt 2: Berechnen Sie die skalierte Größe🎜🎜Berechnen Sie die Breite und Höhe des Zielbilds, das proportional skaliert werden kann, oder geben Sie eine feste Größe an. 🎜rrreee🎜Schritt 3: Zielbild erstellen🎜🎜Beim Erstellen des Zielbilds müssen Sie die Funktion imagecreatetruecolor() verwenden, um die Größe des Zielbilds anzugeben. 🎜rrreee🎜Schritt 4: Skalieren Sie das Bild 🎜🎜Verwenden Sie die Funktion imagecopyresampled(), um das Originalbild entsprechend der angegebenen Größe auf das Zielbild zu skalieren. 🎜rrreee🎜Schritt 5: Speichern Sie das resultierende Bild🎜🎜Verwenden Sie abschließend Funktionen wie imagejpeg() oder imagepng(), um das Zielbild als Datei zu speichern. 🎜rrreee🎜 hat den Zoomvorgang für das Bild abgeschlossen. 🎜🎜Zusammenfassung: In diesem Artikel wird erläutert, wie Sie mit PHP Bilder zuschneiden und zoomen, einschließlich des Öffnens des Originalbilds, des Erstellens des Zielbilds, des Zuschneidens und Skalierens des Bilds sowie des Speicherns des Ergebnisbilds. Mit den von PHP bereitgestellten GD-Bibliotheksfunktionen können wir problemlos verschiedene Operationen an Bildern implementieren. Ich hoffe, dass dieser Artikel Ihnen hilft, PHP für die Bildverarbeitung zu verstehen und zu verwenden. 🎜🎜Referenzen: 🎜🎜🎜Offizielle PHP-Dokumentation: http://php.net/manual/en/ref.image.php 🎜🎜GD-Bibliotheks-Referenzhandbuch: http://php.net/manual/en/book image .php🎜🎜

Das obige ist der detaillierte Inhalt vonSo schneiden Sie Bilder mit PHP zu und ändern ihre Größe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage