Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2483 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Enregistrer in *.gif en *.png et garder l'image valable

 

 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Enregistrer in *.gif en *.png et garder l'image valable

n°403262
xkamui
Their Destiny Was Foreordained
Posté le 21-05-2003 à 17:17:36  profilanswer
 

j'ai fait un switch sur le type de l'image que j'envoi par mon formulaire.
 
quand c'est du png ou du jpeg, ça passe nickel, mais quand c'est du gif, ça coince.
 
voici le code :

Code :
  1. case 'image/gif' :
  2.   // Définition des variables de taille
  3.   $source = ImageCreateFromGif($pic_name);
  4.   $w = Imagesx($source);
  5.   $h = Imagesy($source);
  6.   $new_w = 640;
  7.   $new_h = 480;
  8.   // Création physique de l'image
  9.   $im = imageCreate($new_w, $new_h) or die ("Erreur lors de la crétion de l'image" );
  10.   Imagecopyresized($im,$source,0,0,0,0,$new_w,$new_h,$w,$h);
  11.   $miniature = "mini_$pic_name";
  12.   imagegif($im,$miniature);
  13.   // Affichage des images
  14.   print (" <center> <img src= \"".$folder."/".$miniature."\" > " );
  15.   // déplacement de la vignette et supresion des fichiers temporaires
  16.   @copy ($miniature, $folder.$miniature);
  17.   @unlink ($miniature);
  18.   @unlink ($pic_name);
  19.  break;


 
et au passage, quelques questions
 
1. dans le cas d'un envoi de gif transparent, la transprence est gardée ??
2. dans le cas d'un gif annimé, l'animation est gardée ??
3. est-il possible de redimentionner un fichier *.bmp envoyé par un user et l'enregistrer en jpg


Message édité par xkamui le 23-06-2003 à 17:50:48
mood
Publicité
Posté le 21-05-2003 à 17:17:36  profilanswer
 

n°405212
xkamui
Their Destiny Was Foreordained
Posté le 22-05-2003 à 23:27:32  profilanswer
 

:cry:  :cry:  [:yoyoz] plizzzz

n°405218
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-05-2003 à 23:31:50  profilanswer
 

Bin euh... http://www.php.net/manual/fr/ref.image.php

Citation :

gif   Uniquement supporté en versions de GD antérieure à gd-1.6. Le support des images GIF est disponible en lecture seule depuis PHP 4.3.0, et dans la version de la librairie qui est fournie avec la distribution de PHP.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°405225
xkamui
Their Destiny Was Foreordained
Posté le 22-05-2003 à 23:37:13  profilanswer
 

ce qui veut donc dire, que je ne peux absolument pas créer de vignette avec mon php4 à partir de fichier gif avec mon GD>1.6
 
alors comment je fait ??
et pour mes autres questions ??

n°405229
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-05-2003 à 23:41:06  profilanswer
 

xkamui a écrit :

ce qui veut donc dire, que je ne peux absolument pas créer de vignette avec mon php4 à partir de fichier gif avec mon GD>1.6


J'en ai peur. En même temps, GIF c'est un format propriétaire, donc bof. PNG roulaize.

xkamui a écrit :


alors comment je fait ??
et pour mes autres questions ??


Tu fais pas [:ddr555] Ou tu trouves un soft qui le fait pour toi [:spamafote] Ou alors tu lis le GIF, tu l'enregistres en JPG ou BMP ou c'que tu veux, tu resizes et t'enregistres dans le nouveau format. Bref, essaie de virer le GIF, quoi.
Pour les autres questions, je répondrais bien oui pour tout mais n'ayant pas testé, je peux pas te garantir.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°405293
xkamui
Their Destiny Was Foreordained
Posté le 23-05-2003 à 01:31:50  profilanswer
 

je suis d'accord sur le fait que le png est mieux que le gif, pas de pbs, mais c'est que, en fait, l'image viens d'un utilisateur lambda qui ajoute, à une petite annonce, une photo de son produit. Je ne suis donc pas garant auprès de mon supérieur que l'utilisateur ne mettras pas de fichier gif.
 
Par ailleurs, comment on peut faire pour lire un fichier gif, et redimensionner et l'enregistrer en jpg quand il ne veux même pas lire mon gif...

n°406696
xkamui
Their Destiny Was Foreordained
Posté le 23-05-2003 à 23:54:35  profilanswer
 

yop yop  [:yoyoz]

n°406726
Master_Jul
Posté le 24-05-2003 à 08:47:05  profilanswer
 

le png c'est bien pour faire des captures d'écran windows mais avec des photos, ça bouffe pas à mort comparé à du gif / jpg ?

n°410197
xkamui
Their Destiny Was Foreordained
Posté le 28-05-2003 à 11:29:29  profilanswer
 

sujet toujours d'actualité, svp

n°410202
harrysauce
Miaaaooou!
Posté le 28-05-2003 à 11:31:56  profilanswer
 

Master_Jul a écrit :

le png c'est bien pour faire des captures d'écran windows mais avec des photos, ça bouffe pas à mort comparé à du gif / jpg ?

des photos en gif?????

mood
Publicité
Posté le 28-05-2003 à 11:31:56  profilanswer
 

n°410204
harrysauce
Miaaaooou!
Posté le 28-05-2003 à 11:33:21  profilanswer
 

xkamui a écrit :

sujet toujours d'actualité, svp

Tu as lu la réponse de Taiche????
Tu ouvres ton gif, tu le mets en PNG, tu redimensionnes ton PNG, et tu enregistres en PNG......

n°410276
xkamui
Their Destiny Was Foreordained
Posté le 28-05-2003 à 12:42:14  profilanswer
 

harrysauce a écrit :

Tu as lu la réponse de Taiche????
Tu ouvres ton gif, tu le mets en PNG, tu redimensionnes ton PNG, et tu enregistres en PNG......


 
ok, alors comment convertir mon fichier gif en png ??...
juste en lui changeant l'extention ??
 
et ensuite en le redimentionnant comme n'importe quel fichier png ??!! :??:

n°410282
harrysauce
Miaaaooou!
Posté le 28-05-2003 à 12:55:39  profilanswer
 

xkamui a écrit :


 
ok, alors comment convertir mon fichier gif en png ??...
juste en lui changeant l'extention ??
 
et ensuite en le redimentionnant comme n'importe quel fichier png ??!! :??:

je repete parce que je crois que t'as pas vraiment compris ;)
 
tu OUVRES le fichier gif
 

Citation :

gif   Uniquement supporté en versions de GD antérieure à gd-1.6. Le support des images GIF est disponible en lecture seule depuis PHP 4.3.0, et dans la version de la librairie qui est fournie avec la distribution de PHP.


 
le lecture seule implique que tu peux ouvrir ton gif, ensuite tu enregistres ton image en PNG (tu cherches dans l'aide de GD lib)
ensuite tu la redimensionnes, et tu l'enregistres....
 
Je vois vraiment pas ce qu'il y a de sorcier!!!

n°437061
xkamui
Their Destiny Was Foreordained
Posté le 23-06-2003 à 17:01:11  profilanswer
 

je sèche complétement sur cette histoire de gif !!
 
j'ouvre mon fichier gif = je fait un fopen dessus ??
 
ensuite, j'enregistre mon fichier gif en png... ok, mais comment, j'avoue que je n'y pige rien...
 
HELP !!!  :cry:  :cry:

n°437106
skeye
Posté le 23-06-2003 à 17:24:54  profilanswer
 

harrysauce a écrit :

jtu cherches dans l'aide de GD lib

n°437109
xkamui
Their Destiny Was Foreordained
Posté le 23-06-2003 à 17:26:40  profilanswer
 

j'ai cherché, mais c'est pas facil de trouver quand on sait pas vraiment ce qu'on cherche...
 
donc, une petite aide...

n°437158
xkamui
Their Destiny Was Foreordained
Posté le 23-06-2003 à 17:51:05  profilanswer
 

:bounce: up pour le rename du topic :bounce:

n°437192
gilou
Modérateur
Modzilla
Posté le 23-06-2003 à 18:05:12  profilanswer
 

Taiche a écrit :


J'en ai peur. En même temps, GIF c'est un format propriétaire, donc bof. PNG roulaize.


Ca tombe bientot dans le domaine public :)
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°437195
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-06-2003 à 18:07:48  profilanswer
 

Master_Jul a écrit :

le png c'est bien pour faire des captures d'écran windows mais avec des photos, ça bouffe pas à mort comparé à du gif / jpg ?


 
le PNG est mieux que le GIF dans TOUS les cas, sauf :
- images minuscules genre ":)" où on a par ex 1 Ko au lieu de 0.8 Ko :D
- images animées (-> MNG -> y a que Mozilla qui le supporte)


Message édité par antp le 23-06-2003 à 18:08:10

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°437206
Master_Jul
Posté le 23-06-2003 à 18:23:54  profilanswer
 

antp a écrit :


 
le PNG est mieux que le GIF dans TOUS les cas, sauf :
- images minuscules genre ":)" où on a par ex 1 Ko au lieu de 0.8 Ko :D
- images animées (-> MNG -> y a que Mozilla qui le supporte)


 
oui, j'avais déjà été voir ta page ;) ça parlait que ce n'était pas le top pour les images 16M mais comparé au JPEG, c'est ça que j'avais omis, et en réduisant une 16M en 256 couleurs, qui gagne entre gif et png ?


---------------
En français, on écrit "connexion", pas "connection".
n°437211
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 23-06-2003 à 18:30:04  profilanswer
 

gilou a écrit :


Ca tombe bientot dans le domaine public :)
A+,


Vi, j'ai vu, depuis quelques jours à peine :) Donc p'têt qu'une prochaine version de GD va implémenter tout ça. En plus, ils ont le code déjà tout prêt en piochant dans les versions < 1.6 [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°437227
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-06-2003 à 18:47:29  profilanswer
 

Master_Jul a écrit :

et en réduisant une 16M en 256 couleurs, qui gagne entre gif et png ?


 
relis mieux la page [:ddr555] (surtout les exemples)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°437231
Master_Jul
Posté le 23-06-2003 à 19:08:43  profilanswer
 

antp a écrit :


 
relis mieux la page [:ddr555] (surtout les exemples)


 

Citation :

À même nombre de couleurs le PNG compresse mieux que le GIF, tout en n'altérant pas la qualité d'image.


 :jap:  :hello:


---------------
En français, on écrit "connexion", pas "connection".
n°437382
xkamui
Their Destiny Was Foreordained
Posté le 23-06-2003 à 21:03:53  profilanswer
 

un petit up pour ramener au sujet principal qui est de :  
 
enoyer un fichier gif sur le server  [ ça je sais faire ]
l'ouvrir en lecture seule  [ ça, je pense que c'est un fopen ]
l'enregistrer en png  [ ça je sais pas faire ]
pour finalement le redimentionner  [ ça je sais faire en jpg et png, mais en gif, c'est plus chaud, voir plus haut dans le topic ]
 
j'attend vos explications, svp !!


Message édité par xkamui le 23-06-2003 à 21:04:39
n°437427
Hermes le ​Messager
Breton Quiétiste
Posté le 23-06-2003 à 21:47:07  profilanswer
 

xkamui a écrit :

un petit up pour ramener au sujet principal qui est de :  
 
enoyer un fichier gif sur le server  [ ça je sais faire ]
l'ouvrir en lecture seule  [ ça, je pense que c'est un fopen ]
l'enregistrer en png  [ ça je sais pas faire ]
pour finalement le redimentionner  [ ça je sais faire en jpg et png, mais en gif, c'est plus chaud, voir plus haut dans le topic ]
 
j'attend vos explications, svp !!


 
Non, ce n'est pas avec fopen que tu lis ton image. Relis les exemples d'utilisation de la librairie GD dans le manuel php. ;)
 
Pour ouvrir ton gif, c'est imagecreatefromgif
 
Pour l'enregistrer ensuite, c'est imageJpeg pour du Jpeg et ImagePNG pour du PNG.
 
Relis la doc, ya plein d'exemples dedant espèce de faignant ;)

n°437453
xkamui
Their Destiny Was Foreordained
Posté le 23-06-2003 à 22:37:43  profilanswer
 

en fait, j'arrive à lire mon image gif... enfin autant que ma version de php ne le permette, car, rappellons-le :  

Note : Etant donné que toutes les fonctions de gestion des GIF ont été supprimées de la bibliothèque GD version 1.6, cette fonction n'est pas disponible si vous utilisez cette version de la librairie.


 
mais ensuite, lors du passage en png, et de l'affichage de l'image de l'image, il me crée un fichier *.gif, et essaye de lire le même type de fichier...
 
je vous met un bout de mon code, pour plus de clarté dans mes propos :  
 

Code :
  1. // définition des variables images
  2. $pic_size=$_FILES['pic']['size'];
  3. $pic_type=$_FILES['pic']['type'];
  4. $pic_name=$_FILES['pic']['name'];
  5. $folder="../../../url/sortie/files/".$ref."/";
  6. // Redimentionnement de l'image
  7. if ($pic_width[0]>$pic_width[1])
  8. {
  9.  $new_w=100;
  10.  $new_h=(($pic_width[1]*$new_w)/$pic_width[0]);
  11. }
  12. if ($pic_width[1]>$pic_width[0])
  13. {
  14.  $new_h=100;
  15.  $new_w=(($pic_width[0]*$new_h)/$pic_width[1]);
  16. }
  17. $dst_img=ImageCreate($new_w,$new_h);
  18. if ($pic_type=="image/pjpeg" ) { $src_img=ImageCreateFromJpeg($pic); }  // cas d'un fichier en jpg, jpe, jpeg
  19. if ($pic_type=="image/x-png" ) { $src_img=ImageCreateFromPng($pic); }  // cas d'un fichier en png
  20. if ($pic_type=="image/gif" )   { $src_img=ImageCreateFromGif($pic); }  // cas d'un fichier en gif
  21. ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
  22. if ($pic_type=="image/pjpeg" ) { ImageJpeg($dst_img, "th_".$pic_name); }  // cas d'un fichier en jpg, jpe, jpeg
  23. if ($pic_type=="image/x-png" ) { ImagePng($dst_img, "th_".$pic_name);  }  // cas d'un fichier en png
  24. if ($pic_type=="image/gif" )   { ImagePng($dst_img, "th_".$pic_name);  }  // cas d'un fichier gif
  25. echo "<img src=\"th_".$pic_name."\" />";

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Enregistrer in *.gif en *.png et garder l'image valable

 

Sujets relatifs
[débutant PHP] probleme lors du passage de parametre[PHP] Cherche la meilleure classe de generation de formulaire
[PHP] Transférer une variable d'une page à l'autre[PHP] Accusé de réception à un mail
Variable de session PHP - Quand le code fait foirer le W3C Validator[PHP] Convention de programmation
Newbee a besoin de PHP[PHP/MYSQL]Désolé...encore besoin d'aide
[PHP-objet] Dans quelle classe placer cette methode ?Garder la main durant un calcul lourd
Plus de sujets relatifs à : [PHP] Enregistrer in *.gif en *.png et garder l'image valable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR