Redimensionnement d'image jpg

Contenu du snippet

Ce code permet de ridmensionner une image jpg après un upload. Il y a peut etre beaucoup, mais je n'en ai pas touvé pour cette version du gd.
Il est codé de sorte qu'il soit utilisable pour le gd 1.6.x.

Si vous avez des améliorations à apporter n'hésitez pas de me les faire parvenir.

Source / Exemple :


<form method="post" action="upload2.php" enctype='multipart/form-data'>
<table>
<tr>
 <td><font face="Verdana" size="2"><b>image associée : </b></font></td>
 <td><input type="hidden" name="$maxPoids" value="200000"><input type="file" name="userfile"></td>
</tr>
<tr>
 <td colspan="2">&nbsp;</td>
</tr>
<tr>
 <td align="center" colspan="2"><input type="submit" name="envoyer" value="Valider"></td>
</tr>
</table>
</form>

<?
$repertoire = "images/";
$destination = $repertoire.$userfile_name;
if($userfile_size > $maxTaille || $userfile_size == 0) 
{
   echo "<br><br><font face='Verdana' color='#FF0000'><font  size=4>ERREUR</font><br><br><font size=2><b>La taille du fichier n'est pas correct </b></font>";
}
elseif (!move_uploaded_file($userfile, $destination)) 
{
  echo "<br><br><font face='Verdana' color='#FF0000'><font size=4>ERREUR</font</b></font>";
}
else
{
   //Appelle la fonction de redimensionnement de la photo
   resize($destination);
}
?>

//Redimensionne la photo
function resize($userfile) 
{
  $lenomdufichier=$userfile."\fin";
  $nomfic=explode("\\",$lenomdufichier);
  $i=0;
  while ($nomfic[$i]!="fin")
  $i++;
  $nomfic=$nomfic[$i-1];
  $size = getimagesize($userfile); 
  echo $size[3];  
  //détermine la taille de la miniature
  $dest_width = explode(".",($size[0]/4)); 
  $dest_eight = explode(".",($size[1]/4));
  $src_img = imagecreatefromjpeg($userfile);
  $dst_img = imagecreate($dest_width[0], $dest_eight[0]); 
  imagecopyresized($dst_img, $src_img, 0, 0, 0, 0,$dest_width[0], $dest_eight    [0],$size[0], $size[1]);
  imagejpeg($dst_img,$nomfic, 60);   
  echo "<img src='$nomfic'>";
}

Conclusion :


La qualité de l'image après le redimensionnement n'est pas génial. Mais cela donne un aperçu de ce que l'on puet faire avec un gd autre que celui du 2.x.x

Voila, à une prochaine fois...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.