Avec le développement d'Internet, les images sont devenues un élément indispensable dans les pages Web. Cependant, les images plus grandes affectent souvent la vitesse de chargement des pages Web et la bande passante des déchets. Par conséquent, la génération de miniatures est une méthode d'optimisation commune. Cet article vous apprendra à utiliser PHP pour générer des vignettes, à réduire la taille du fichier des images et à améliorer la vitesse de chargement des pages Web.
En tant que langue populaire côté serveur, PHP possède de puissantes fonctions de traitement d'image qui peuvent nous aider à générer facilement des miniatures. Ensuite, nous présenterons les étapes pour générer des miniatures à l'aide de PHP et fournirons des exemples de code spécifiques.
La première étape de la génération d'une vignette consiste à déterminer la taille de l'image d'origine. La largeur et la hauteur de l'image d'origine peuvent être obtenues via la fonction GetImageSize () de PHP. Voici l'exemple de code:
$ info = getImageSize ('path / to / original / image.jpg'); $ originalwidth = $ info [0]; $ originalHeight = $ info [1];
Avant de générer la vignette, vous devez d'abord créer une toile vierge qui sera utilisée pour dessiner la vignette. Vous pouvez utiliser la fonction ImageCreateTrueColor () de PHP pour créer une toile avec une largeur et une hauteur spécifiées:
$ ThumbnailWidth = 200; // Largeur de vignettes $ ThumbnailHeight = 150; // Thumbnail Height $ Thumbnail = ImageCreateTrueColor ($ Thumbnailwidth, $ thumbnailHeight);
Ensuite, nous devons copier et mettre à l'échelle l'image d'origine sur la nouvelle toile. Vous pouvez charger l'image d'origine en utilisant ImageCreateFromJPEG () (ou utiliser la fonction correspondante pour les images dans différents formats), puis utiliser la fonction ImageCopyResampled () pour mettre à l'échelle l'image d'origine sur la toile miniature:
$ original = ImageCreateFromJPEG ('path / to / original / image.jpg'); // Chargez l'image originale ImageCopy Resampled ($ Thumbnail, $ Original, 0, 0, 0, $ Thumbnailwidth, $ thumbnailHeight, $ originalwidth, $ originalHeight);
Enfin, nous pouvons enregistrer la miniature générée sur le chemin du fichier spécifié. Vous pouvez utiliser ImageJPEG () , ImagePng () et d'autres fonctions pour enregistrer des images dans différents formats:
imagejpeg ($ thumbnail, 'path / to / thumbnail / image.jpg');
Voici un exemple complet de code PHP qui montre comment générer des miniatures à partir de l'image d'origine:
$ info = getImageSize ('path / to / original / image.jpg'); $ originalwidth = $ info [0]; $ originalHeight = $ info [1]; $ ThumbnailWidth = 200; // Largeur de vignettes $ ThumbnailHeight = 150; // Thumbnail Height $ Thumbnail = ImageCreateTrueColor ($ Thumbnailwidth, $ thumbnailHeight); $ original = ImageCreateFromJPEG ('path / to / original / image.jpg'); // Chargez l'image originale ImageCopy Resampled ($ Thumbnail, $ Original, 0, 0, 0, $ Thumbnailwidth, $ thumbnailHeight, $ originalwidth, $ originalHeight); imagejpeg ($ thumbnail, 'path / to / thumbnail / image.jpg'); // Enregistrer la miniature
Grâce aux étapes ci-dessus, nous pouvons facilement générer des vignettes en utilisant PHP et les enregistrer sur le chemin spécifié. De cette façon, nous pouvons non seulement réduire la taille du fichier de l'image, mais aussi accélérer la vitesse de chargement des pages Web.
Cet article présente les étapes pour générer des miniatures en détail par PHP et fournit des exemples de code spécifiques. En maîtrisant les fonctions de traitement d'image de PHP, vous pouvez facilement utiliser des miniatures dans votre site Web pour optimiser la vitesse de chargement de l'image et améliorer l'expérience utilisateur. J'espère que cet article est utile pour votre traitement d'image PHP.