Drazounet
Messages postés63Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention27 mars 2008
-
18 nov. 2005 à 16:17
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
22 nov. 2005 à 10:48
Bonjour à tous,
J'ai trouvé sur ce site une fonction sympa qui permet de redimensionner
des images (en indiquant la largeur et la hauteur) sans la déformer. Le
problème c'est que certaines photos perdent énormément de leur qualité
(inscrustation de vert / gris ou autre sur l'image) alors que d'autres
sont impecable. Par exemple :
image ok :
image bugée :
Savez-vous d'où le problème peut-il venir ? Voici la fonction :
function generer_miniature($image, $largeur, $hauteur, $qualite, $categorie, $action) {
// chemin de la miniature à générer
if ($action==1) $dest = "photos/$categorie/mini/mini_$image";
else $dest = "photos/$categorie/$image";
// dossier où se trouve l'image source
$dossier = "imgtmp/";
$img_in = ImageCreateFromJpeg($dossier.$image);
$size = getimagesize($dossier.$image);
$l = $size[0];
$h = $size[1];
if (($l >= $largeur) && ($h>= $hauteur)) {
$new_haut = ($h * $largeur) / $l;
if($new_haut < $hauteur) {
$new_haut = $hauteur;
$new_larg = ($l * $hauteur) / $h;
}
else {
$new_larg = $largeur;
}
// on réduit l'image à la largeur voulue, mais en gardant la hauteur proportionnelle
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 nov. 2005 à 16:31
Salut,
et..diantre.
Je serais toi, je commencerais par télécharger la dernière version de la GD, voir si tu as le même problème.
Mais sinon, il vaut mieux utiliser imagecopyresampled().
http://fr2.php.net/manual/fr/function.imagecopyresampled.php (à la place de imagecopyresized)
de même; il vaut mieux utiliser imagecreatetruecolor().
(tu trouveras au même endroit).