Soyez le premier à donner votre avis sur cette source.
Snippet vu 17 493 fois - Téléchargée 19 fois
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 $rapport = $w_max / $w_img; // Rapport $w_final = ceil($w_img * $rapport); // Largeur miniature arrondie $h_final = ceil($h_img * $rapport); // Hauteur miniature arrondie $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 } $mini_img = redimenssion('uploads/avatars/image.gif', 100, 100); // Appel de la fonctions <img src="'.$img.'" width="'.$mini_img[0].'" height="'.$mini_img[1].'" alt="" />
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
}
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.
echo "";
moi je vait plutot me pencher sur la librairie gd!
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.