Lorsque vous travaillez avec des images téléchargées par les utilisateurs, la création de miniatures réactives est cruciale pour améliorer l'expérience utilisateur et maintenir les performances du site. Ce guide relève le défi de générer des vignettes tout en préservant la qualité de l'image d'origine.
PHP fournit une gamme de fonctions de manipulation d'images, notamment imagecopyresized(). Pour créer une vignette à partir d'une image téléchargée, suivez ces étapes :
Pour conserver la qualité de l'image d'origine, utilisez un paramètre $quality plus élevé dans imagejpeg() ou imagepng(). Ce paramètre va de 0 à 100, avec une valeur plus élevée indiquant une meilleure qualité.
ImageMagick est une bibliothèque de manipulation d'images plus robuste. S'il est installé sur votre serveur, vous pouvez tirer parti de sa classe Imagick pour générer des vignettes :
Voici un exemple de fichier imageupload.php modifié pour inclure la génération de vignettes :
... if(isset($_FILES['image_data'])){ if(is_uploaded_file($_FILES['image_data']['tmp_name'])) { // Original image processing $imgData =addslashes (file_get_contents($_FILES['image_data']['tmp_name'])); // Thumbnail generation if (generateThumbnail($_FILES['image_data']['tmp_name'], 100, 100, 90)) { $thumbData = addslashes (file_get_contents($_FILES['image_data']['tmp_name'] . '_thumb.jpg')); // Insert original and thumbnail images into the database $sql = "UPDATE users SET user_pic='".$imgData."', user_pic_small='".$thumbData."' WHERE>
Ce code utilise generateThumbnail() pour créez une vignette de dimensions 100x100 et d'une qualité de 90%. La vignette est ensuite enregistrée avec un suffixe "_thumb.jpg".
En mettant en œuvre ces techniques, vous pouvez réaliser à la fois la création de vignettes réactives et la préservation de la qualité d'image originale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!