blast Posté 18 Novembre 2006 Partager Posté 18 Novembre 2006 Bonjour, J'ai un immense stock d'images sur un serveur (env. 1Go) qui ont tous les poids possibles. Certaines font jusqu'à 3mo, d'autres sont plus light. J'aimerais toutes les alléger pour pouvoir les employer pour un site web. Existe-t-il un script capable de redimensionner/alléger les images directement sur le serveur à votre connaissance ? Je ne désire pas les rapatrier sur mon PC pour le faire. Merci de votre aide Blast Lien vers le commentaire Partager sur d’autres sites More sharing options...
Leonick Posté 18 Novembre 2006 Partager Posté 18 Novembre 2006 oui, avec ImageCreateFromJpeg() et ImageCopyResampled() Lien vers le commentaire Partager sur d’autres sites More sharing options...
blast Posté 18 Novembre 2006 Auteur Partager Posté 18 Novembre 2006 merci beaucoup de ta réponse. Malgré cette piste, je ne parviens pas à trouver un script qui me ferait cette manipulation efficacement (proportions gardées). Et je n'ai pas les compétences pour en créer un. Merci de vos conseils. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Leonick Posté 18 Novembre 2006 Partager Posté 18 Novembre 2006 Allez, cadeau de la maison <?phpfunction generer_miniature($image, $rep_source,$rep_dest,$largeur, $hauteur, $qualite) { // chemin de la miniature à générer $dest = $rep_dest.$image; $dest_rep=substr($rep_dest,0,strrpos($rep_dest,"/")); if ((!file_exists($dest_rep)) && (!is_dir($dest_rep))) {mkdir ($dest_rep, 0705); if ((!file_exists($dest_rep)) && (!is_dir($dest_rep))) echo "<p>Erreur lors de la création du répertoire $dest_rep</p>\n"; } $img_in = imagecreatefromjpeg($rep_source.$image); $size = getimagesize($rep_source.$image); $l = $size[0];$h = $size[1]; $ratio=max($h/$hauteur,$l/$largeur); $new_haut =$h /$ratio;$new_larg =$l /$ratio; // on réduit l'image à la largeur voulue, mais en gardant la hauteur proportionnelle $img_out = ImageCreateTruecolor($new_larg, $new_haut); ImageCopyResampled($img_out, $img_in, 0, 0, 0, 0, ImagesX($img_out), ImagesY($img_out), $l, $h); // création d'une image vide aux dimensions de la miniature $im = ImageCreateTruecolor($new_larg, $new_haut); // on copie la zone de l'image de hauteur voulue dans l'image vide ImageCopy($im, $img_out, 0, 0, 0, 0, $new_larg, $new_haut); ImageJpeg($im, $dest, $qualite); // destruction des images en mémoire ImageDestroy($img_out); ImageDestroy($im); } ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
blast Posté 19 Novembre 2006 Auteur Partager Posté 19 Novembre 2006 merci beaucoup je vais tester cela! c'est très sympa, un peu Noël avant l'heure ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant