Position actuelle: Accueil> Derniers articles> Méthode et exemples de code pour que PHP implémente une compression proportionnelle égale des images

Méthode et exemples de code pour que PHP implémente une compression proportionnelle égale des images

gitbox 2025-08-07

Aperçu

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.

Le principe de la compression proportionnelle égale

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.

Obtenez la taille d'image d'origine

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];

Calculez la taille cible de la compression proportionnelle égale

En fonction du réglage de la largeur cible, calculez la hauteur cible en fonction de la proportion:

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

Créer des ressources d'image et effectuer une compression

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%

Résumer

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.