Créer des miniatures d'images (thumb)

Contenu du snippet

Le principe est simple, ce script PHP prend tous les fichiers jpg de son répertoire et en crée une miniature

Source / Exemple :


<?PHP
$lalarg = 250; //Largeur maximale
$lahaut = 250; //Hauteur maximale
$rep_cur = getcwd(); //On prend le répertoire courant
chdir($rep_cur); //On initialise le répertoire
$rep = opendir($cur_rep); //On ouvre le répertoire
//Ensuite on lit un par un les fichiers et dossiers du répertoire en ne prenant que les jpg
while ($zone = readdir($rep)){
if ($zone != "." && $zone != ".." && strtoupper(substr($zone,-3)) == "JPG")
   {echo "<u><span style=\"color:#BB3300\">Traitement du fichier \"$zone\"</span></u><br>";
    $origin = ImageCreateFromJPEG("./$zone");
    $taille = FileSize("./$zone");
    echo "<b>Taille: </b><i>$taille octets</i><br>";
    $larg = ImageSX($origin); $pc_l = $larg / $lalarg;
    $haut = ImageSY($origin); $pc_h = $haut / $lahaut;
    echo "<b>Largeur: </b><i>$larg</i><br><b>Hauteur: </b><i>$haut</i><br>";
    echo "<b>Largeur % lalarg: </b><i>$pc_l</i><br><b>Hauteur % lahaut: </b><i>$pc_h</i><br>";
    $pc_m = $pc_l; if ($pc_h > $pc_l) $pc_m = $pc_h;
    echo "<b>Dimension %: </b><i>$pc_m</i><br>";
    $haut2 = $haut / $pc_m;
    $larg2 = $larg / $pc_m;
    $iqual = ($taille / $pc_m) /1000;
    $qual = 100;
    if ($iqual > 50) $qual = 100 * (50 / $iqual);
    echo "<b>Indice de qualité: </b><i>$iqual</i><br><b>Adaptation qualité %:</b><i>$qual</i><br>> thumb$zone généré<br><br>";
    $thumb = ImageCreate($larg2,$haut2);
    ImageCopyResized($thumb, $origin, 0, 0, 0, 0,$larg2, $haut2, $larg, $haut);
    ImageJpeg($thumb,"./thumbs/thumb$zone",$qual);
    ImageDestroy($origin);
    ImageDestroy($thumb);
   }
}
?>

Conclusion :


vous pouvez modifier les variables $lahaut et lalarg qui donnent la hauteur et la largeur maximale de la miniature.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.