1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| <?php
class Img {
static function creerMin($img, $chemin, $nom, $mlargeur = 100, $mhauteur = 100) {
//recuperation des dimensions de l'image
$dimension = getimagesize($img);
//creation d'une image a partir du fichier recupere
if(substr(strtolower($img), -4)==".jpg"){
$image = imagecreatefromjpeg($img);
} else if(substr(strtolower($img), -4)==".png") {
$image = imagecreatefrompng($img);
} else if(substr(strtolower($img), -4)==".gif") {
$image = imagecreatefromgif($img);
}
//Image ne peut etre redimensionne
else {return false;}
//Creation des miniatures
//Creation d'image hauteur et largeur voulue
$miniature = imagecreatetruecolor($mlargeur, $mhauteur);
//gerer la position et le redimensionnement de la grande image
if($dimension[0]>($mlargeur/$mhauteur)*$dimension[1]){
$dimY = $mhauteur*$dimension[0]/$dimension[1];
$decalX=-($dimX-$mhauteur)/2;
$decalY=-($dimY-$mlargeur)/2;
}
if($dimension[0]<($mlargeur/$mhauteur)*$dimension[1]){
$dimX=$mlargeur*$dimension[1]/$dimension[0];
$decalY=-($dimY-$mhauteur)/2;
$decalX=-($dimX-$mlargeur)/2;
}
if($dimension[0]==($mlargeur/$mhauteur)*$dimension[1]){
$dimX=$mlargeur*$mhauteur;
$decalX=0;
$dimY=0;
}
//On modifie l'image crée en y plaçant la grande image redimensionnée
imagecopyresampled($miniature,$image,$decalX,$decalY,0,0,$dimX,$dimY, $dimension[1]);
//On sauvegarde le tout
imagejpeg($miniature, $chemin."/".$nom.".jpg",90);
}
}
?> |
Partager