begin process at 2010 03 19 16:53:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

pb redimension image jpeg/bmp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb redimension image jpeg/bmp

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ée 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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,326 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales