OVH Cloud OVH Cloud

Conserver les donnees EXIF en redimentionnant via GD2

4 réponses
Avatar
condo4
Bonjour,

Je vais faire court :
Mon probleme, je redimentionne une image a l'aide de GD2 comme ceci :


$im1=imagecreatefromjpeg("neig.jpg");
$ImgLarg=ImageSX($im1);
$ImgHaut=ImageSY($im1);
$Ratio=$ImgLarg/$ImgHaut;
while(($ImgHaut*$ImgLarg)>1200*1024)
{
$ImgHaut*=0.8;
$ImgLarg*=0.8;
}
$im=imagecreatetruecolor($ImgLarg, $ImgHaut);
imagecopyresized ($im, $im1, 0, 0, 0, 0, $ImgLarg, $ImgHaut,
ImageSX($im1), ImageSY($im1));
$FichierImg = "neig_mod.jpg";
ImageJPEG($im,"$FichierImg");
ImageDestroy($im);
Imagedestroy($im1);

Mon probleme : l'image ansi construite a perdu toute les info EXIF
enregistré par mon APN.
Existe-t-il un moyen de les conserver ???

Merci
@+Fab

4 réponses

Avatar
dmetzler
Il me semble que l'utilitaire jhead permet d'extraire ces données d'un
fichier et de les réinsérer. Entre les deux tu fais tes modifs.
Avatar
Stephane Lorimier
Bonjour,
Salut,


Tu peux employer la librairie pel:
http://pel.sourceforge.net/
Elle permet de lire et écrire les informations exif.

Stéphane

Avatar
Yttrium
"condo4" a écrit dans le message de news:

Bonjour,

Je vais faire court :
Mon probleme, je redimentionne une image a l'aide de GD2 comme ceci :



Bonjour,

Il existe aussi une autre solution pour redimensionner les images ( qui
conserve les exifs ), c'est d'utiliser un appel commande système pour
executer un utilitaire "NConvert" ,
qui est l'outil en ligne de commande lié à "XnView".
Avec cet utilitaire, tu crées ta ligne de commande qui va bien, tu l'appelle
en php par un exec(), et le tour est joué.

Exemple de ligne de comande NConvert :

( nconvert.exe -resize ".$dim['big']['larg']." ".$dim['big']['haut']." -o
"$destination" -ratio
-rexifthumb -rflag decr -q 65 -normalize -wmfile "$signature" -wmflag
bottom-center "$original"";)

Salutations.

Avatar
condo4
Merci beaucoup,

Je pense que je vais utiliser pel, il m'a l'ère fort interessant!!!
@+Fab