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
| <?php
class Img{
static function creerMin($img,$chemin,$nom,$mlargeur=100,$mhauteur=100){
// On supprime l'extension du nom
$nom = substr($nom,0,-4);
// On récupère les dimensions de l'image
$dimension=getimagesize($img);
// On cré une image à partir du fichier récup
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); }
// L'image ne peut etre redimensionne
else{return false; }
// Création des miniatures
// On cré une image vide de la largeur et hauteur voulue
$miniature =imagecreatetruecolor ($mlargeur,$mhauteur);
// On va gérer la position et le redimensionnement de la grande image
if($dimension[0]>($mlargeur/$mhauteur)*$dimension[1] ){ $dimY=$mhauteur; $dimX=$mhauteur*$dimension[0]/$dimension[1]; $decalX=-($dimX-$mlargeur)/2; $decalY=0;}
if($dimension[0]<($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mlargeur*$dimension[1]/$dimension[0]; $decalY=-($dimY-$mhauteur)/2; $decalX=0;}
if($dimension[0]==($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mhauteur; $decalX=0; $decalY=0;}
// on modifie l'image crée en y plaçant la grande image redimensionné et décalée
imagecopyresampled($miniature,$image,$decalX,$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]);
// On sauvegarde le tout
imagejpeg($miniature,$chemin."/".$nom.".jpg",90);
return true;
}
static function convertirJPG($img){
// On cré une image à partir du fichier récup
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); }
// L'image ne peut etre redimensionne
else{return false; }
unlink($img);
imagejpeg($image,substr($img,0,-3)."jpg",90);
return true;
}
}
?> |
Partager