Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment générer une image réduite de bonne qualité ?
auteur : Eric Berger
Il est souvent utile de créer de petites vignettes sur la base de photos de plus grande taille, sous la forme d'aperçu dans une galerie de photos par exemple. Suivant les instructions utilisées, la qualité de l'image réduite peut être discutable, voir carrément mauvaise. La fonction ci-dessous génère une vignette de bonne qualité.

Le code
function thumbnail($file, $maxWidth, $maxHeight){//Créer une image à partir de $file
    $img = ImageCreateFromJpeg("$file");
    //Dimensions de l'image
    $imgWidth = imagesx($img);
    $imgHeight = imagesy($img);
    //Facteur largeur/hauteur des dimensions max
    $whFact = $maxWidth/$maxHeight;
    //Facteur largeur/hauteur de l'original
    $imgWhFact = $imgWidth/$imgHeight;
    //fixe les dimensions du thumb
    if($whFact < $imgWhFact){//Si largeur déterminante
        $thumbWidth  = $maxWidth;
        $thumbHeight = $thumbWidth/$imgWhFact;
    } else { //Si hauteur déterminante
        $thumbHeight = $maxHeight;
        $thumbWidth = $thumbHeight*$imgWhFact;
    }
    
    //Crée le thumb (image réduite)
    $imgThumb = ImageCreateTruecolor($thumbWidth, $thumbHeight);
    //Insère l'image de base redimensionnée
    ImageCopyResized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
    //Nom du fichier thumb
    $imgThumbName = "thumb_".$file;
    //Crée le fichier thumb
    $fp = fopen($imgThumbName, "w");
    fclose($fp);
    //Renvoie le thumb créé
    ImageJpeg($imgThumb, $imgThumbName);
    return $imgThumbName;
}
La fonction ImageCreateTruecolor() a été introduite dans la version 2.0 de la librairie gd, elle ne sera donc pas disponible si vous disposez d'une version antérieure. Dans ce cas, il faut utiliser la fonction ImageCreate().

Attention : La génération des thumbnails à chaque chargement de page n'est pas conseillée car elle consomme beaucoup de ressources.

lien : fr Tutoriel : La manipulation d'images avec la librairie GD, par Michaël

GD V.2 et EasyPHP - Erreur GD2.dll
auteur : Cyberzoide
En essayant d'utiliser la bibiothèque GD2 avec EasyPHP vous avez l'erreur suivante :
Function registraion failed - dupilcate name - imagetruecolortopalette
Modifier le fichier de configuration php.ini pour activer gd2.dll et désactiver gd.dll.


precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com