begin process at 2010 02 10 14:27:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > REDIMENSIONNEMENT D'IMAGE JPG

REDIMENSIONNEMENT D'IMAGE JPG


 Information sur la source

Note :
5,33 / 10 - par 3 personnes
5,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Débutant Date de création :17/03/2004 Vu :9 022

Auteur : bonjovi51

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

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

  • <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'>";
  • }
<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...


 Sources de la même categorie

Source avec Zip RECHERCHE DE MOTIF DANS UNE IMAGE par ParseError
BARRES PARAMÉTRABLES EN DÉGRADÉ DE COULEUR ET AVEC TEXTE DA... par hornetbzz
Source avec Zip Source avec une capture GALERIE PHOTO SIMPLE À GÉRER par francky6691
Source avec Zip Source avec une capture DIAPORAMA AVEC AJOUT ET REDIMENSIONEMENT DE PHOTOS, CRÉATION... par giloum
Source avec Zip Source avec une capture AFFICHAGE INFOBULLE SUR GRAPHIQUE ARTICHOW par nirronico

Commentaires et avis

Commentaire de ludovicanceaux le 08/04/2006 21:58:07

je ne comprend pas ce ke tu ve dire par action="upload2.php" c koi cette feuille??????

Commentaire de bonjovi51 le 24/05/2006 12:20:01

Excuse-moi!! en fait upload2.php peut-être enlevé.

Mais tu peux mettre le code php dans un fichier. Bref, soit tu mets le code dans la même page et tu enlèves upload2.php soit tu créés un fichier php avec le code et tu mets le nom du fichier que tu as choisi.

Commentaire de ludovicanceaux le 24/05/2006 23:39:40

oki, merci de ta réponse, mais j'avai trouvé la réponse (1 mois après) lol ;-) enfin c'est pas grave bonne soirée

Commentaire de liko le 02/06/2006 09:34:45

Moi j'ai pas encore testé mais je m'étonne de quelques trucs. Tu les définis quand et comment ces variables ($userfile_size, $maxTaille et $userfile_size) ? ça les definit automatiquement ?

Commentaire de bonjovi51 le 02/06/2006 09:43:26

Salut,

Non, tu as juste à redéfinir la variable $maxTaille. La valeur doit être en octet.

Sinon, en ce qui concerne le userfile_size, c'est évdiemment défini automatiquement puisque userfile est un input de type file.

userfile_name = le nom du fichier.
usefile_size = la taille du fichier (en octet).

Voilà. :)

Bonne journée.

Commentaire de ronanry le 16/06/2008 10:27:28

tres bonne source

si seulement je peux me permettre un petit commentaire au lieu de d=explode(".",valeur) il est plus "propre" d'utiliser une fonction mathetique telle que : d=int(valeur)
ca revient au meme, a la nuance que tu recupere juste la valeur avec le "." sous form de integer et non sous forme de array

Commentaire de kiadimoundi le 21/11/2008 16:42:21

J'ai un code du même genre, et je voudrais savoir si tu as testé le tien et s'il marche avec des grosses images (supérieures à 1500x1500 pixels) ? Personnellement j'ai des problèmes au niveau de "imagecreatefromjpeg" qui ne s'exécute pas si l'image est trop grande ou trop volumineuse

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales