Code de redimmensionnement
Posté : 01 mars 2011, 12:12
Salut les codeurs.
Je viens poster sur ce forum pour une simple et innocente question.
Je suis en train de réaliser une interface client en flash , et j'utilise un code php pour télécharger et retailler une image, or le code ne marche qu' une fois sur 4:
Dans mon code je demande avec la librairie gd de me retailler et cropper l'image, selon des paramètres de taille (avec ratio) , mais au téléchargement 1 fois sur 2 ça m'applati l'image.
Quelqu'un aurais une ch'tite solution?
Merci à ceux qui aurons eut la gentillesse de me lire.
le code :
Je viens poster sur ce forum pour une simple et innocente question.
Je suis en train de réaliser une interface client en flash , et j'utilise un code php pour télécharger et retailler une image, or le code ne marche qu' une fois sur 4:
Dans mon code je demande avec la librairie gd de me retailler et cropper l'image, selon des paramètres de taille (avec ratio) , mais au téléchargement 1 fois sur 2 ça m'applati l'image.
Quelqu'un aurais une ch'tite solution?
Merci à ceux qui aurons eut la gentillesse de me lire.
le code :
<?php
$source = imagecreatefromjpeg($_FILES['Filedata']['tmp_name']); // La photo est la source
$destination = imagecreatetruecolor(190, 170); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$ratio = imagesx($source)/imagesy($source);
$ratio_w = imagesx($source)/imagesy($source);
$ratio_h = imagesy($source)/imagesx($source);
if($ratio<1){
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination)*($ratio_h);
}else if($ratio>1){
$largeur_destination = imagesx($destination)*($ratio_w);
$hauteur_destination = imagesy($destination);
}else{
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
}
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
imagejpeg($destination, "img/small/" .$_FILES['Filedata']['name']);
?>