Redimensionner une image en php via libraire GD

Rien de bien original, mais cette fonction pourrait vous être utile.


<?php

// Usage : redimensionne($chemin_de_limage sur le serveur, $largeur, $hauteur)
function redimensionne($chemin, $width, $height){
    $x = $width; # largeur a redimensionner
    $y = $height; # hauteur a redimensionner
    // On vérifie qu\'il s\'agit bien d\'une image, sinon on supprime le fichier.
    $contenttype=mime_content_type($chemin);
    if(eregi_replace(\'image\', \'\', $contenttype)==$contenttype){
        @unlink($chemin);
        $chemin=absolu.\"images/say_bigger.png\";
        $contenttype=mime_content_type($chemin);       
    }
        
        Header(\"Content-type: image/jpeg\");
        // En fonction du mimetype de l\'image, on crée à partir d\'un png, d\'un gif, d\'un bmp, d\'un jpeg...
        if(eregi_replace(\'png\', \'\', $contenttype) != $contenttype)        $img_new = imagecreatefrompng($chemin);
        else if(eregi_replace(\'gif\', \'\', $contenttype) != $contenttype)    $img_new = imagecreatefromgif($chemin);
        else if(eregi_replace(\'bmp\', \'\', $contenttype) != $contenttype)    $img_new = imagecreatefrombmp($chemin);
        else if(eregi_replace(\'jpeg\', \'\', $contenttype) != $contenttype)    $img_new = imagecreatefromjpeg($chemin);


        $size = getimagesize($chemin);
        $img_mini = imagecreatetruecolor ($x, $y);
        $white = imagecolorallocate($img_mini, 255, 255, 255);

//On transforme la transparence des png en fond blanc
imagealphablending ($img_mini, TRUE);
imagefill ($img_mini, 0, 0, $white);

        imagecopyresampled ($img_mini,$img_new,0,0,0,0,$x,$y,$size[0],$size[1]);
        // On affiche l\'image
        imagejpeg($img_mini);
        die();
}

?>


 


Le fichier php est dans l\'archive jointe.

Gpenverne

Gpenverne

Développeur backend symfonien, qui trouve toujours moyen de faire des machins avec des bidules même si ce n'est pas utile.

Read More