OVH Cloud OVH Cloud

Probleme bizarre avec imagecopyresized

2 réponses
Avatar
Dominique Ottello
Bonjour,

Problème en local sous EasyPHP 1.7 avec GD 2.0.15 sous Windows XP Home
(Je ne peux pas essayer en distant actuellement)

J'utilise une fonction "creation_vignette" qui me permet, comme son nom
l'indique, de créer des miniatures à partir d'images *.jpg.
Les dimensions largeur et hauteur de la vignette sont paramétrables.

Je vous fait grâce du contenu total de cette fonction mais, en gros,
elle comprend :

$image_src = @imagecreatefromjpeg($source.$image);
$size = getimagesize($source.$image);
pour obtention des dimensions d'origine :
$largeur_src et $hauteur_src

Calcul du ratio pour obtenir les nouvelles dimensions :
$largeur_new et $hauteur_new

$image_dest=imagecreatetruecolor($largeur_new,$hauteur_new);

imagecopyresized($image_dest,$image_src,0,0,0,0,$largeur_new,$hauteur_new,$largeur_src,$hauteur_src);

imagejpeg($image_dest, $destination.$nom.$suffixe.$ext);

Ça fonctionne très bien sauf pour *une seule image* dont les dimensions
d'origine sont : largeur 1558 et hauteur 984

Après être passée dans les différents calculs et tests, pour cette image
j'obtiens, avant l'appel à "imagecopyresized" :
(affichage par des echo pour debug)

Largeur src = 1558 Hauteur src = 984
Largeur max = 300 Hauteur max = 400
Ratio = 0.19255455712452
Largeur new = 300 Hauteur new = 189

Ce qui correspond bien à ce que je veux, mais l'image générée fait
*exactement le double* des nouvelles dimensions (300 par 189) passées en
paramètre à la fonction "imagecopyresized" : largeur 600 et hauteur 378

Je ne comprend pas pourquoi, d'autant plus qu'à priori il n'y a qu'une
seule image qui pose ce problème et cette image est bien vue avec les
dimensions 1558 par 984 par Paint Shop Pro, ACDSee, XnView et IrfanView.
--
= Dominique Ottello = http://www.ottello.net
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit nouveau,
même si c'est pire qu'avant et cela de toute évidence. Montherlant

2 réponses

Avatar
P'tit Marcel
as tu essayé la fonction imagecopyresampled ?
Provoque t'elle le même problème ?
Avatar
Dominique Ottello
P'tit Marcel écrivait :

as tu essayé la fonction imagecopyresampled ?
Provoque t'elle le même problème ?


Merci.

Problème réglé. C'était le fichier *.jpg qui présentait un défaut de
codage. J'ai repris le fichier d'origine et tout baigne.

--
Un ordinateur résout des problèmes que nous n'aurions pas sans lui