REDIMENSIONNEMENT AUTOMATIQUE D'IMAGES

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 25 avril 2007 à 19:46
bouticheval Messages postés 1 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 18 mars 2009 - 5 mars 2009 à 12:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42443-redimensionnement-automatique-d-images

bouticheval Messages postés 1 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 18 mars 2009
5 mars 2009 à 12:03
Salut, merci pour ton code je m'en suis servi pour redimensionner une image, par contre dans l'état actuelle des choses la redimension ne se fait pas selon les limites imposés mais selon le rapport choisi, je l'ai un peu modifié pour qu'il ne dépasse pas les largeur et hauteur max défini. Je suis pas un pro codeur mais en tout cas ça marche, si ça peut servir à quelqu'un :

function redimenssion($img, $w_max, $h_max){

$size_img = getimagesize($img); // Dimensions de l'image de base

$w_img = $size_img[0]; // Largeur de l'image de base
$h_img = $size_img[1]; // Hauteur de l'image de base

if (($w_img<=$w_max)AND($h_img<=$h_max)){
$size_final = array($w_img, $h_img); // Si l'image est plus petite que le max on ne la modifie pas
} else {

$rapport = $h_max / $h_img; // Rapport de reduction

$w_final = ceil($w_img * $rapport); // Largeur miniature arrondie
$h_final = ceil($h_img * $rapport); // Hauteur miniature arrondie

if ($w_final>$w_max){
// si la largeur finale dépasse la largeur max on re-dimensionne
$w_final=$w_max; // On transforme la largeur en largeur max la largeur
$rapportReductionmax=$w_final/$w_max; // On calcul le nouveau rapport
$h_final = ceil($h_img * $rapportReductionmax); // On en déduit la nouvelle hauteur
} else if ($h_final>$h_max) {
// si la hauteur finale dépasse la hauteur max on re-dimensionne
$h_final=$h_max; // On transforme la hauteur en hauteur max la largeur
$rapportReductionmax=$h_final/$h_max; // On calcul le nouveau rapport
$w_final = ceil($w_img * $rapportReductionmax); // On en déduit la nouvelle largeur
}

$size_final = array($w_final, $h_final); // Mise en tableau des dimensions finales
}
return $size_final; // On retourne les dimensions de la miniature sous forme de tableau

}
hugsgiver Messages postés 7 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 17 avril 2008
19 août 2008 à 16:43
oui, sa je le sait merci, mais se que je voulait dire, c'est que le calcule qui est fait plus haut pour calculer le bon raport hauteur - largeur est inutile, il suffit par exemple d'écrire juste la hauteur, et le navigateur se garge de calculer la largeur!
cs_bluedemon Messages postés 41 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 3 novembre 2008
19 août 2008 à 13:35
hugsgiver, la taille en octet correspond à la qualité de l'image et à sa taille. Pour avoir une taille plus petite en octet, il faut réduire l'image et sa qualité.
Bien sur qu'il faut utiliser la librairie GD. C'est elle qui te permettra de réduire l'image et sa qualité.
Et l'exemple que tu as donné, tu affiche l'image avec une taille peut être réduite mais que en affichage. Si tu as une image de 1280*1024, tu l'affichera peut être en 200*(ratio) mais le chargement sera très long surtout quand c'est une galerie. Car tu charges l'image en 1280*1024 et non 200*(ratio). D'où l'intérêt de charger l'image dans un poids plus petit.
hugsgiver Messages postés 7 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 17 avril 2008
16 août 2008 à 12:25
Moi je pensait trouver une fonctionpour réduire la taille en octet, vous vous compliquez bien la tête, sa c facile se que vous avez fait, il y a plus simple, et la vous êtes sur que le taille n'est pas déformé:


echo "";


moi je vait plutot me pencher sur la librairie gd!
maitre_dious Messages postés 4 Date d'inscription samedi 10 avril 2004 Statut Membre Dernière intervention 6 février 2008
6 févr. 2008 à 14:56
Un poids identique.
Afficher les 24 commentaires
Rejoignez-nous