Dans le développement moderne de sites Web, l'optimisation de la taille de l'image est particulièrement importante pour améliorer la vitesse de chargement des pages et l'expérience utilisateur. Grâce à une technologie de compression à proportion égale, le volume du fichier d'image peut être réduit efficacement tout en maintenant le rapport d'aspect d'origine de l'image. Cet article présentera comment utiliser la bibliothèque GD dans PHP pour implémenter cette fonctionnalité et fournir des exemples de code pratiques.
L'idée de base de la compression proportionnelle égale des images est: calculer la hauteur (ou la largeur) cible correspondante en fonction de la largeur (ou de la hauteur) de la cible en fonction du rapport d'aspect de l'image d'origine pour empêcher l'image de la déformation. Ce processus peut être facilement accompli à l'aide de l'extension GD de PHP, y compris la lecture des informations d'image, la création de toiles, la mise à l'échelle et la sortie des images.
La première étape consiste à lire la largeur et la hauteur de l'image d'origine via la fonction getImageSize () :
$originalImagePath = 'path/to/original/image.jpg';
$originalImageSize = getimagesize($originalImagePath);
$originalWidth = $originalImageSize[0];
$originalHeight = $originalImageSize[1];
En fonction du réglage de la largeur cible, calculez la hauteur cible en fonction de la proportion:
$targetWidth = 800;
$targetHeight = $originalHeight * ($targetWidth / $originalWidth);
Utilisez la bibliothèque GD pour créer des ressources d'image et effectuer une compression à échelle égale:
$originalImage = imagecreatefromjpeg($originalImagePath);
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
Ensuite, utilisez la fonction ImageCopyResampled () pour effectuer une opération de mise à l'échelle de l'image:
imagecopyresampled(
$targetImage,
$originalImage,
0, 0, 0, 0,
$targetWidth, $targetHeight,
$originalWidth, $originalHeight
);
Enfin, enregistrez l'image compressée sur le chemin spécifié:
$targetImagePath = 'path/to/target/image.jpg';
imagejpeg($targetImage, $targetImagePath, 80); // La qualité de compression est définie pour80%
Grâce aux étapes indiquées dans cet article, les développeurs peuvent facilement obtenir une compression à l'échelle des images en PHP, ce qui peut non seulement assurer la qualité des images, mais également réduire efficacement la taille du fichier. Ce type de traitement convient particulièrement aux scénarios où les performances frontales doivent être optimisées, telles que l'affichage d'album d'image, les images de couverture d'articles, les images de produits, etc. La maîtrise de cette technologie contribuera à améliorer les performances globales du site Web.