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.
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.
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 basierend auf der Einstellung der Zielbreite die Zielhöhe gemäß dem Verhältnis:
$targetWidth = 800;
$targetHeight = $originalHeight * ($targetWidth / $originalWidth);
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%
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.