blast Posté 18 Novembre 2006 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
Leonick Posté 18 Novembre 2006 Posté 18 Novembre 2006 oui, avec ImageCreateFromJpeg() et ImageCopyResampled()
blast Posté 18 Novembre 2006 Auteur 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.
Leonick Posté 18 Novembre 2006 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); } ?>
blast Posté 19 Novembre 2006 Auteur Posté 19 Novembre 2006 merci beaucoup je vais tester cela! c'est très sympa, un peu Noël avant l'heure !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant