Aktueller Standort: Startseite> Neueste Artikel> Beispiele für Methoden und Code für PHP, um die gleiche proportionale Komprimierung von Bildern zu implementieren

Beispiele für Methoden und Code für PHP, um die gleiche proportionale Komprimierung von Bildern zu implementieren

gitbox 2025-08-07

Überblick

In der modernen Website -Entwicklung ist die Optimierung der Bildgröße besonders wichtig, um die Seitenladegeschwindigkeit und die Benutzererfahrung zu verbessern. Durch die Komprimierungstechnologie für gleiche Proportionen kann das Bilddateivolumen effektiv reduziert werden, während das ursprüngliche Seitenverhältnis des Bildes beibehalten wird. In diesem Artikel wird vorgestellt, wie die GD -Bibliothek in PHP verwendet wird, um diese Funktionalität zu implementieren und praktische Codebeispiele anzugeben.

Das Prinzip gleicher proportionaler Kompression

Die grundlegende Idee der gleichzeitigen proportionalen Komprimierung von Bildern lautet: Berechnen Sie die entsprechende Zielhöhe (oder die Breite) basierend auf der Zielbreite (oder der Höhe) basierend auf dem Seitenverhältnis des Originalbildes, um das Bild von der Verformung abzuhalten. Dieser Vorgang kann einfach mithilfe der GD -Erweiterung von PHP, einschließlich Lesen von Bildinformationen, Erstellen von Leinwand, Skalierung und Ausgabe von Bildern, erreicht werden.

Holen Sie sich die ursprüngliche Bildgröße

Der erste Schritt besteht darin, die Breite und Höhe des Originalbildes durch die Funktion GetImageSize () zu lesen:

 
$originalImagePath = 'path/to/original/image.jpg';
$originalImageSize = getimagesize($originalImagePath);
$originalWidth = $originalImageSize[0];
$originalHeight = $originalImageSize[1];

Berechnen Sie die Zielgröße gleicher proportionaler Kompression

Berechnen Sie basierend auf der Einstellung der Zielbreite die Zielhöhe gemäß dem Verhältnis:

 
$targetWidth = 800;
$targetHeight = $originalHeight * ($targetWidth / $originalWidth);

Erstellen Sie Bildressourcen und führen Sie Komprimierung durch

Verwenden Sie die GD-Bibliothek, um Bildressourcen zu erstellen und eine Komprimierung des gleichen Maßstabs durchzuführen:

 
$originalImage = imagecreatefromjpeg($originalImagePath);
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);

Verwenden Sie als Nächstes die Funktion imageCopyresampled (), um Bildskalierungsoperation durchzuführen:

 
imagecopyresampled(
  $targetImage,
  $originalImage,
  0, 0, 0, 0,
  $targetWidth, $targetHeight,
  $originalWidth, $originalHeight
);

Speichern Sie schließlich das komprimierte Bild auf dem angegebenen Pfad:

 
$targetImagePath = 'path/to/target/image.jpg';
imagejpeg($targetImage, $targetImagePath, 80); // Die Kompressionsqualität ist auf80%

Zusammenfassen

Durch die in diesem Artikel gezeigten Schritte können Entwickler leicht eine gleichmaßstabende Komprimierung von Bildern in PHP erreichen, was nicht nur die Qualität der Bilder sicherstellen kann, sondern auch die Dateigröße effektiv reduziert. Diese Art der Verarbeitung eignet sich besonders für Szenarien, in denen Front-End-Leistung optimiert werden muss, wie z. B. Bildalbumdisplay, Artikelumschläge, Produktbilder usw. Die Mastering dieser Technologie wird dazu beitragen, die Gesamtleistung der Website zu verbessern.