Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : pb redimension image jpeg/bmp [ Archives / Débutants ] (David_monchy)

mardi 18 avril 2006 à 14:15:17 | pb redimension image jpeg/bmp

David_monchy

Salut à tous, j'ai voulu faire une fonction permettant de redimensionner une image uploadée. Je me suis inspiré des fonctions de ce site, et tout marche parfaitement, à une exception près: si l'utilisateur fait son dessin sous paint et qu'il l'enregistre en .jpeg, la fonction ne marche pas car pour elle le type de l'image est bmp (j'ai fait un echo de ce que renvoyait getimagesize et le chiffre 6 est affiché, ce qui correspond au format bmp). je voulais donc savoir comment résoudre ce problème, qui est tout de même assez enervant pour les personnes novices qui pensent réellement envoyer des photo au format jpeg et qui se voient refuser le truc. Voici ma fonction de redimensionnement: function redim($photo,$pseudo){ //cette fonction redimensionne une image déjà uploadée //on commence par récupérer les dimensions originales $taille=getimagesize('../upload/'.$pseudo.'/'.$photo); $largeur=$taille[0]; $hauteur=$taille[1]; $extension=$taille[2]; //renvoie 1 si c'est .gif, 2 si c'est .jpeg ou .jpg et 3 si c'est .png //on veut redimensionner pour une largeur max de 250 //pour cela on regarde par combien il faut diviser la hauteur et la largeur $var=$largeur/250; if($var>=1){ //si var est inférieur à 1, cela veut dire que l'image est inférieure à 250 pixels de largeur, donc c'est inutile de la miniaturiser $new_hauteur=round($hauteur/$var); $new_largeur=round($largeur/$var); echo $extension; switch($extension){ case 1: $image_in = imagecreatefromgif('../upload/'.$pseudo.'/'.$photo); $image_out = imagecreatetruecolor($new_largeur, $new_hauteur); break; case 2: $image_in = imagecreatefromjpeg('../upload/'.$pseudo.'/'.$photo); $image_out = imagecreatetruecolor($new_largeur, $new_hauteur); break; case 3: $image_in = imagecreatefrompng('../upload/'.$pseudo.'/'.$photo); $image_out = imagecreatetruecolor($new_largeur, $new_hauteur); break; default: echo 'Format non supporté! Seuls les jpeg, les gif et les png sont acceptés.'; ?>
mardi 18 avril 2006 à 17:46:11 | Re : pb redimension image jpeg/bmp

mickaelpfr

tu devrais effectuer un test au moment de l'upload, et une fois ton image uploader la transformer en jpg AVANT de faire la miniature...

mercredi 19 avril 2006 à 09:06:50 | Re : pb redimension image jpeg/bmp

David_monchy

mais c'est ce que je fais. lors de l'upload je teste si le fichier n'est pas trop volumineux et si l'extension est en .jpeg ou png ou gif. mais le pb c'est que l'extension est en .jpeg, donc tout se passe bien lors de l'upload, et ensuite, grace à getimagesize, il s'apercoit que ce n'est pas du "vrai" jpg et qu'en fait c'est du bmp. Mais je voudrais quand meme accepter cette image, car pour le client, cette photo est du bon format puisqu'il la voit en jpg. Je ne sais vraiment pas comment faire.

mercredi 19 avril 2006 à 12:41:56 | Re : pb redimension image jpeg/bmp

mickaelpfr

okip on récapitule :)

- Soumission de l'image
- Vérification de l'extension
- Upload
- Vérification du véritable format
- Traitement de l'image

Donc pour palier a ton souçis , tu dois accepter les bmp et transformer cette image en jpg :)


ce qui donne une fonction supplémentaire
- Soumission de l'image
- Vérification de l'extension
- Upload
- Vérification du véritable format
- Si autre format que ceux stipulé, on transforme en jpg
- Traitement de l'image


Voila en espérant t'avoir éclairé , c'est a ma connaissance la seule solution...

mercredi 19 avril 2006 à 13:44:29 | Re : pb redimension image jpeg/bmp

David_monchy

ok je suis entièrement d'accord avec toi, mais comment transformer des images qui sont dans un format non compatible en format jpg? connaitrais-tu une fonction permettant de changer le type mime d'une image?

mercredi 19 avril 2006 à 13:50:13 | Re : pb redimension image jpeg/bmp

mickaelpfr

En gros ... :

tu fais une copie de l'image au format bmp grace a imagecopy() ( je te laisse regarder la doc c tout con ..
puis tu créer la nouvelle image qui sera traité pour tes miniature etc ...
$image = imagecreatetruecolor($x,$y);
imagejpeg($image);

voila les grandes lignes :)


mercredi 19 avril 2006 à 14:21:55 | Re : pb redimension image jpeg/bmp

David_monchy

je viens de regarder la doc de imagecopy(). ils n'indiquent pas comment faire une copie de l'image au format bmp. pour les autres types, j'utilisait imagecreatefromjpeg ou imagecreatefrompng, mais il n'existe pas d'imagecreatefrombmp, donc je ne peux pas copier l'image au format bmp



Cette discussion est classé dans : image, hauteur, photo, jpeg, largeur


Répondre à ce message

Sujets en rapport avec ce message

Pb php : ImageCreateFromJPEG [ par Trascal ] /*Bijour,j'ai un ti pb en php :/ quelqu'un pourrait-il m'aider? voici mon pb$donnees est de type "fichier.jpg"et $directory est un répertoire que l'on Upload image et limitation taille [ par millo ] Je suis entrain de dévellopé un script ou je propose l'upload de photo mais pour des raisons évidentes je souhaite limiter l'espace disque réservé pou texte sur image... librairie GD ? [ par ozitoun ] Bonjour bonjour,voili voilou, je cherche à mettre une texte sur une image (jpeg).j'ai essayé les imagestring, imagechar... mais à chaque fois les exem Probleme code de securité [ par zzzzzz ] Voila je suis debutant en php et j'ai inclue un fichier code.php avec comme contenu: header("Content-type: image/jpeg"); $nbr = rand(10000,100000); Probleme popup Javscript et php [ par corbakoo ] Bonsoir à tous Voilà mon probleme :J'utilise la fonction :function popup(page,largeur,hauteur,options){ var top=(screen.height-hauteur)/2; var left=( Ca commence à me prendre la tête.... [ par 68_abis ] Bonjour,Voilà mon p'tit ou plutôt gros soucis...je veux stocker des images dans une base Mysql et les afficher après avec PHP..Le problème c'est que l Image numérique et php [ par bouffard ] Bonjour,J'amerais savoir s'il est possible de récupérer à l'écran grâce à un interface en php une image (photo) provenant d'un appareil photo numériqu taille d'une image [ par kishkaya ] voila j'aimerai creer une fontion pour redimentionner une image (Width=x height=y) si l'image depasse 100px de largeur et 100px de hauteur  mais je ne prob d'affichage [ par travailmichel ] bonjour a tousvoila je voudrais afficher une image redimensionner le probleme c'est qu'il m'affiche un charabia==ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 Upload Image [ par piep14 ] Bonjour, je dois faire un upload d'une photo. J'ai donc fait ceci :      $date = date('Y/m/d H:i:S');   $file = $_FILES['userfile'];   $stock = 'photo


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,23 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.