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
|
function reduit_fichier($fichier_image,$scale,$max_v,$max_h,$source,$destination,$prefixe,$type)
{
// MAX_V = HAUTEUR -- MAX_H = LARGEUR
// le nom de l'image "scalée" commencera par ti_ et le nom du fichier original
$ti_fichier_image=$prefixe.$fichier_image;
global $nomfichier;
$im = ImageCreateFromjpeg("$source"."$fichier_image");
$v=ImageSY($im); // $v prend la hauteur
$h=ImageSX($im); // $h prend la largeur
//Floor Arrondi à l'entier inférieur
//ON GERE LA HAUTEUR
if ($v > $max_v) // Si la hauteur Img, est plus grand que le max, on reduit
{
$taux_hauteur=$v/$max_v; // On recupere le taux necessaire pour retrecir
$ti_v=(int)floor($max_v); // ti_v = taille final de la hauteur
$ti_h=(int)floor($h/$taux_hauteur); // ti_h = taille final de la largeur
}
else $ti_v=$v; // Sinon on fixe la hauteur
// Si il n'a pas deja subbit une modification de la taille
if ($ti_h!="") $h_comp = $ti_h; else $h_comp = $h;
if ($ti_v!="") $v_comp = $ti_v; else $v_comp = $v;
//ON GERE LA LARGEUR
if ($h_comp > $max_h)
{
$taux_largeur=$h_comp/$max_h;
$ti_h=(int)floor($max_h);
$ti_v=(int)floor($v_comp/$taux_largeur);
}
else $ti_h=$h_comp;
$ti_im = ImageCreateTrueColor($ti_h,$ti_v);
imagecopyresized($ti_im,$im,0,0,0,0,$ti_h,$ti_v,$h,$v);
imagejpeg($ti_im,"$destination"."$ti_fichier_image",$scale);
$nomfichier = $destination.$ti_fichier_image;
return $ti_fichier_image;
} |
Partager