Welcome! Anonymous


[Script] Redimentionnement automatique des miniatures

[Script] Redimentionnement automatique des miniatures

Messagede totocam » Ven 11 Juil 2008 11:26

Voici une fonction qui permet de creer automatiquement une miniature à partir d'une image source.

Pour l'utiliser il suffit de la déclarer en mettant les paramètres suivants:
1 - Chemin de l'image source.
2 - Taille de sortie de la miniature
3 - Chemin de sortie de la miniature

Petit bémol, il faut disposer de la librairie GD pour manipuler les images.

Exemple:
Code: Tout sélectionner
GetMiniature("test.jpeg", 60, "miniatures/test.jpeg");


Voici donc le code ->

Code: Tout sélectionner
<?php

// Fonction permettant le redimensionnement automatique des images ( miniatures)
function GetMiniature($path_img,$taille_min,$chemin_mini) {
    // Récupération du tableau de la taille de l'image ([0] = largeur, [1] = longueur, [2] = type de l'image, [3] = balise html height= width=)
    $size_img = getimagesize($path_img);
   
    $largeur_img = $size_img[0];
    $longueur_img = $size_img[1];
   
    if ($largeur_img > $longueur_img){
        $diff = $longueur_img / $largeur_img;
        $proportionL = $largeur_img / $taille_min;
        $proportionH = $longueur_img / ($taille_min * $diff);
    }
    elseif ($longueur_img > $largeur_img){
        $diff = $largeur_img / $longueur_img;
        $proportionL = $largeur_img / ($taille_min * $diff);
        $proportionH = $longueur_img / $taille_min;
    }
    else{
        $proportionL = $largeur_img / $taille_min;
        $proportionH = $longueur_img / $taille_min;
    }
   
    $largeur = $largeur_img / $proportionL;
    $hauteur = $longueur_img / $proportionH;
   
    $ext = substr($path_img, (strpos('.', $path_img) + 1));
    $path_img = substr($path_img, 0, (strpos(".",$path_img) - 1));
   
    switch($ext) {
        case "jpg":
            $img_origine = imagecreatefromjpeg($path_img);
            $img = imagecreatetruecolor($largeur, $hauteur);
            $img = imagecopy($img, $img_origine, 0, 0, 0, 0, $largeur, $longeur);
            imagejpeg($img,$chemin_mini);
        break;
        case "jpeg":
            $img_origine = imagecreatefromjpeg($path_img);
            $img = imagecreatetruecolor($largeur, $hauteur);
            $img = imagecopy($img, $img_origine, 0, 0, 0, 0, $largeur, $longeur);
            imagejpeg($img,$chemin_mini);
        break;
        case "gif":
            $img_origine = imagecreatefromgif($path_img);
            $img = imagecreatetruecolor($largeur, $hauteur);
            $img = imagecopy($img, $img_origine, 0, 0, 0, 0, $largeur, $longeur);
            imagegif($img,$chemin_mini);
        break;
        case "png":
            $img_origine = imagecreatefrompng($path_img);
            $img = imagecreatetruecolor($largeur, $hauteur);
            $img = imagecopy($img, $img_origine, 0, 0, 0, 0, $largeur, $longeur);
            imagepng($img,$chemin_mini);
        break;
    }
   
   
   
}
?>
Avatar de l’utilisateur
totocam
Co-administrateur
Co-administrateur
 
Messages: 177
Inscription: Jeu 31 Jan 2008 13:11
Tchup`s - points: 80.00
Localisation: AUSSONNE

Publicité

Retourner vers Les scripts PHP

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité