Modification de script Upload avec redimensionnement image
Posté : 25 oct. 2013, 15:48
Bonjour à toutes et çà tous,
je viens vers vous car je suis un peu bloqué sur un script que je dois réaliser pour l'upload de photo avec redimensionnement.
Actuellement, le script rempli bien sa fonction sauf qu'il me rogne les images et ne prends pas en compte le sens de la photo de base... Je cherche donc à savoir comment ajouter la fonction qui va vérifier si la photo est en horizontal ou vertical et éviter de me rogner l'image.
Voici le code actuel :
Merci beaucoup par avance!
je viens vers vous car je suis un peu bloqué sur un script que je dois réaliser pour l'upload de photo avec redimensionnement.
Actuellement, le script rempli bien sa fonction sauf qu'il me rogne les images et ne prends pas en compte le sens de la photo de base... Je cherche donc à savoir comment ajouter la fonction qui va vérifier si la photo est en horizontal ou vertical et éviter de me rogner l'image.
Voici le code actuel :
<?php
function resize($width, $height){
/* Détection des dimensions x y de l'image*/
list($w, $h) = getimagesize($_FILES['image']['tmp_name']);
/* Calcul de la taille de la nouvelle image avec ratio */
$ratio = max($width/$w, $height/$h);
$h = ceil($height / $ratio);
$x = ($w - $width / $ratio) / 2;
$w = ceil($width / $ratio);
/* Nouveau nom de fichier */
$path = '../albums/'.$_FILES['image']['name'];
/* Lecture des données binaires de l'image */
$imgString = file_get_contents($_FILES['image']['tmp_name']);
/* creation de l'image */
$image = imagecreatefromstring($imgString);
$tmp = imagecreatetruecolor($width, $height);
imagecopyresampled($tmp, $image,
0, 0,
$x, 0,
$width, $height,
$w, $h);
/* Sauvegarde de l'image */
switch ($_FILES['image']['type']) {
case 'image/jpeg':
imagejpeg($tmp, $path, 100);
break;
case 'image/png':
imagepng($tmp, $path, 0);
break;
case 'image/gif':
imagegif($tmp, $path);
break;
default:
exit;
break;
}
return $path;
/* Nettoyage du cache */
imagedestroy($image);
imagedestroy($tmp);
}
?>
Pouvez vous m'aider à finaliser ça s'il vous plaît? J'ai testé pas mal de variable sans grands résultats mais certainement due à mon peu de connaissance en PHP.Merci beaucoup par avance!