Retailler une image en PHP & ImageMagick

Posté le 15-01-2009

Une petite fonction toute simple mais qui peut rendre bien des services. Cette fonction permet de conserver le rapport hauteur/largeur, mais peut également cropper une image pour en forcer les dimensions.

function resize_img($image, $title, $alt, $maxH, $maxW, $crop=false){
        $img['file'] = $image;
        $lConf['file.']['maxH']=$maxH;
        $lConf['file.']['maxW']=$maxW;
        $lConf['altText']=$alt;
        $lConf['titleText']=$title;
        $lConf['emptyTitleHandling']='removeAttr';
        // Si on veut forcer une taille d'image sans conserver l'homothétie,
        // (par exemple toujours afficher une image carrée quelle que soit l'image d'origine) on utilise un "crop" sur l'image :
        if ($crop==true) {
            $lConf['file.']['height']=$maxH.'c';
            $lConf['file.']['width']=$maxW.'c';
        }
        return $this->cObj->cImage($img["file"], $lConf);
    }

Merci à Oblady (http://www.wiki-oblady.com/) pour le code typoscript correspondant.

comments powered by Disqus