IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[ImageMagick] Problème dans le code pour redimensionner une image


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 244
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 244
    Par défaut [ImageMagick] Problème dans le code pour redimensionner une image
    Bonjour,
    Vioila je traine sur ce code et je n'arrive pas a trouver le probleme.
    En gros, j'aimerais que:
    1. il scan un repectoire pour le moment sur le serveru web (dans le future en loacal)
    2. redimentionne toutes les images et les place dans un autre repctoire sur le serveur.
    3. si Les images ont une resolution plsu grande que 76dpi, et les
    ++root
    +dossier_source/image source
    +dossier_cible/images redimentionnées
    +script.php


    Pour le moment j'ai reussi a faire ceci, mais évidemment ca ne fonctionne pas à 100%.

    Toutes les conditions passent. Le code arrive a lire le dossier source,controler le type dimage.

    Mon probleme ce que les image ne sont pas recopié dans le dossier de destination (du moijn j'en suis pas sure) ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    <?php
     
    #$img_src = 'alien-tux.png';
    #$img_dst = 'alien-tux-vign.png';
    $zoom = 50;
    $folder = "images_brutes/";
    $output = "images/";
    $dossier = opendir($folder);
    //==========================================================
    // TESTS PREALABLES
    //==========================================================
    if(!function_exists('ImageCreateTrueColor')) 
      die('Librairie GD2 non installée!<br/>');
    if(!file_exists($folder)) 
      die('Image source introuvable!<br/>');
     
     
     
    while ($img_src = readdir($dossier)) {
      if ($img_src != "." && $img_src != "..") {
    if($img_src!=".DS_Store"){
    //==========================================================
    // RECUPERE LES INFORMATIONS DE LA SOURCE
    //==========================================================
    $info = @getimagesize($folder.$img_src);
    print_r($info);
    echo '<br>';
    switch($info[2]){
      case 1:
        if(function_exists('ImageCreateFromGif'))
          $src_im = @ImageCreateFromGif($folder.$img_src); 
        break;
      case 2: 
        if(function_exists('ImageCreateFromJpeg'))
          $src_im = @ImageCreateFromJpeg($folder.$img_src); 
        break;
      case 3: 
        if(function_exists('ImageCreateFromPng'))
          $src_im = @ImageCreateFromPng($folder.$img_src); 
        break;
    }
    echo $folder.$img_src;
    if(!$src_im) die('Format d\'image non reconnue par GD!<br/>');
     
    //==========================================================
    // REDIMENSIONNEMENT IMAGE SOURCE
    //==========================================================
    $dst_w = $info[0] / 100 * $zoom;
    $dst_h = $info[1] / 100 * $zoom;
     
    $dst_im = @ImageCreateTrueColor($dst_w, $dst_h);
     
    echo '<b><font color="red">'.$dst_im.'</font></b>';
    if(!$dst_im) die('Erreur de création d\'image 32 bits!<br/>');
    @imagealphablending($dst_im, false);
    @imagesavealpha($dst_im, true);
    @ImageCopyResampled($dst_im, $src_im, 0, 0, 0, 0, $dst_w, $dst_h, $info[0], $info[1]) or
      die('ImageCopyResampled : Erreur de redimensionnement de l\'image 32 bits!<br/>');
    @ImageDestroy($src_im);
     
    //==========================================================
    // ENREGISTREMENT IMAGE DESTINATION
    //==========================================================
    switch($info[2]){
      case 1:
        @ImageGif($dst_im, $img_dst) or 
          die('ImageGif : Erreur d\'enregistrement de l\'image!<br/>');
        break;
      case 2: 
        @ImageJpeg($dst_im, $img_dst, 90) or 
          die('/ImageJpeg : Erreur d\'enregistrement de l\'image!<br/>'); 
     
        break;
      case 3: 
        @ImagePng($dst_im, $img_dst) or 
          die('ImagePng : Erreur d\'enregistrement de l\'image!<br/>'); 
        break;
    }
    @ImageDestroy($dst_im);  
     
     
    //==========================================================
    // AFFICHAGE DES IMAGES
    //==========================================================
    #echo '<img src="'.$img_src.'" border="0" alt=""/><br/>'.
    #echo '<img src="'.$img_dst.'" border="0" alt=""/><br/>';
     
    }#Ferme la condition qui test si le fichier commence par .DS_Store
    	 }
    }
    closedir($dossier);
    ?>
    en plus, j'ai ca en sortie. Su la page de mon script. Aucune image est redimentionnée
    ÿÛ�C�     ÿÛ�C   ÿÀ��„�È"�ÿÄ����������� ÿÄ�µ���}�!1AQa"q2�‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ�������� ÿÄ�µ��w�!1AQaq"2�B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ� ��?�üª¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�¢Š(�*¯ x;]ñŒòáh×úÌÑíÞ–6Ï1\œ í< Ö(ë_GüLøö¾ð›ðÓሓAÐ^Ê �gU‹)u«\É»’ýV1»h¨éÅrÖ«RŒ)Fí÷Ù[¿èº�©ÆQs›²_{¹âž,ð.¥à©…¶®ÖÖ×àí’Å.I¡<ô<�JçK�©¤$±ÉäÑ[ÅI/yÝ™ÍÅ¿uY ƒ†¦×Sá�!üO¦kpíg—N±kø¤ÉÂ":‡SþÉOûÁ}NyjjI¶»£Ê“îQEQ˜QE�QE�QGJ(�¢Š(�¢Š(�¢•qžs�j’ÚÖK¹V(#y¥c…D\–úG¨ìEEu/ðËÄ‘é†õ´ÉùeÖ\zìëýk—e(Ä0 Ž=«(U§VþÎIÛ°Ü\wŠ)B“žz{Ö¤‰E<¶Î6’h¸ìÆÖ½œ�ª$V’Ÿ0Æ6ÄIù�œ铜{ž™5–bu*@õ"¶¼+—Z½*²ÚÉz$oø÷‡ýc»ïYTvƒ—c«ÕQ–ÌÇž&VA“Ï¥tžøsªüBÖ-tÝ,Ãö›—òãY‰?vô©|sáÏøGo’3m{`“í¹…Óž3ÀÍvÿ�³Ämgá¿‹ã—ºkž,ÔYlôñp\ǹÀ;‚Ìz}à�-œöã«^o êÐÕô¾‹æuC â]*Ú%Ûð>�ø£û$Íû9~È:ö«n“ë+×$µ‡V¼Œm[K'˜Ë}à›Ò ìy9è�5ðU}ÏñŸÅ_>xËBüW§O£kÒ…•t²$ŽÞ@�"7 N ‘ÎkŸý³ÿ�e�3Âú¯Å_‡è�à»óÝZÛmh*•Ds!^<¹nÌG$0Ç‹—c¥ ªX™&ê6Ô“ºmY[egätâð‰Óö´¾Î�5k™ñÅQ_Vx!EPEPEPEP[^ðf»ã}GìÑïu›À7l`iYWûÇhà{ž+ÖgŸ€¿õ[{ÿ�]K¦ø{;’(ŽÙ¯=”Ÿº¿íu=½GêÃM'Âü5›á�2ÃF°PŠÜm27«·,ÇÕ›&¾c2Ïi`[§MsOð_×cÔÂàe]sIÙ~'åî‰û0ë¶dMâkKÛ×ì±ÀÁ¿àNFáŸ*vúF‰¡ø^7‡O‚f_•™gobÇ“ùñí_§gW[ØaŠT�„Œþÿ�Nx5‰¬x#@×üÁ¡ZÜ�™£RÅG#§jølFs_ÿ�|ôì´Gª²øÁ{ŒüÙ /3?”M¾í»HÃ/¿ùö¬ŸøEñ´&`¢Ú÷1.Ûxïøóï_ykÿ�²€µÆßoi>˜À-o/à ¯N0Gåé^w¨~ÂÒÇ;>‡â³nÜêÔç’N )ôõ§Ò´¥Ž¥ )Ò“„‘Œ°•vvhüéñO€u_ HMÄ^m®~[¨†Pý}±®n¿Hï?cï,m#RŒ‚?u9Pã§*ê�üñ^-ãÿ�ØÇã̺Ò<54Rõ0C*I}6±+ùcé_]‚â U?wˆi>ý?à}\ Hë|‹Et~8øuâo†º¨Ó|Q¡_èW¬7$WÐ4e×ûÊO =ÆEs•õ‘”f”¢î�5§f83cnN3Ò½Ÿà7‡![�KR¸9"A”%¹lçØcó^, zo‚|?‡4ɢޏW„MÆ[�yY¤+TÃJ�ÙôÜ>°ÿ�ZçÄ?…]z�Æ9c·¸–ÀýÚFUî9àgŽž•éÿ�ðOô!ñzòÿ�SšÝu›{,i‘ÎøbXí•�w`¼}ñ×9x¯_¹ñæ¿æÅhÖªÛBÛïÜr�''úVÞ£ðwÅÚ_‡?á m.d³I#�."•IÞÍ…Ú²yîysÃE` *^IMZú^ÿ�¯™ëÎ¥LN&X¼='*pòzþyyŸm~ÞúêV:.¡ªJ—r]Þ2Úǃˆ H†Õ÷;žF'ý ;V7ïŠ6¶¿±OŽ<¯Mé-à³°²Ý½ÈuŠl€y!™½ãÚ¼0]üYðï…tÝ/Å:Ýͽ¥Ày-`½�O}\´¾LJØÀïòö.•`¶Z{¥½º„?3å¾gnå›’Xúæ¾fxL-ÿ�‚zxãáQÓõÝE¬ü[áø_~¢š!‘¥�G9de SÕ—$ çšýÓ¾!ZÌåWhåUw?9'8�}sØ�]—â«™%-„8;�aAôÏ¿ã_>#ÆI»¤£ÙŸsÙYm(Ù*O‰t[;kNŽm2Hʪ�ˆœ ·áU¬þ!kþ ÕûML¨Ù�fN ¤6 œuàõãwÓ_¿g}/Æ7skÞ ’ x�ÿ�{-©âÆý»–�~íÉþ%<är‡õþ•B)·‡ex]à ø~†~µeSðÎ*Ïž¹ì?Ï¥ ö!ù•|uðëÂ_¼7.�âÍÛX°q¹c¸’&Çß�Æý¥"¿8¿hÏø&ç‰þKs*øi|Qáe˵».ëëEÿ�iTbEÞPª€3_¥±~ï‚äúóéÛ¡ü8úï麦ì+�ãÔrGø×ÐeÙ�|å„´ìö<úÔ!&¥8Ý/‘ø þ¿P~xÉù¿Â¦·ðÞ¯k]‘ºÿ�t·5ú§ûT|øK¯=ÅùÕ*ü'âéCIæÚÛ¼‘ÜœËXП¾¸<äî¯ÏŸhw:%ä�ÜÃ’„�7l”yI�ÈúŠúê9̱î‡×åÙ6UŒ�= Jê¯ÿ�Üâ½ké9>$ZßÚè–º^™mbÚuÁ¹æ`êÒ*¬W’q¸‘—ëŠñ[(Úg OlŸÂ·t¹ÒMÄfN‹ŒŸRIÍy¹ŠX¹)Íj¶?BÊ2Ú8 Nœ.ÓwÖßäz·sˆu#ªjú©¿»lo’FÜ9 p +=ï!—|q"“Œä÷àu¬ki'¸…c·µvï.»Ž>¤öëÍze•…¯†¼š�°?ð�ßÎd·¼Ç6vÀlÞgv݆ì#’+À”#JÊOÐú9ÍE+#I²œÜ5£[ /“.-—ýp�|Ço¨î>÷^85‘}ñ3ÃV¡á—R·YПݴŸ§ù5šúB^jÒ^-ÕÌ7¾i¹ûJe\ÈNKƒÔú±Mø�ðý|QÖŸLŽîY˦‚ Že9!Á’Ø< ò*mO„�DªÉ«ü¿3ÉÆO|Ô#ùÞ߆¦_�ô]3â'‡fm5!|ÐÈ’Ž£9?çó•Í´–²¼R©Iá”ö5ízv�«xvå�*�6ä ¯c©Æ¡õÙ¼ õµÉüV°ÕÞö+ýKòi3H¸–h¾{yObŒ8Lšû<ª_WŸÕã5(=UÞ«ä÷^—?)âš IbçM¬tz^2^M^ÍzÎÇŸB»åU9Á8ã*û[¹,¦DÛ[Üd¨ïE}$¹¯îŸœRö ~ñ»ú_õGÚÓø—þÈá¶²�`¶‡Ço„�8Gò“]_‡¼s=â§™#.õ
    Ca doit etre l'image!!! et code

    Pourriez vous m'aidewr et controler mon code?
    de maniere a ce que les images finales soient bien deplacer dans le dossier de detination, et que soient bien toutes en 72dpi?

    Merci a tous

  2. #2
    Membre chevronné Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Par défaut
    bonjour,

    ajoute un header aprés la création de ton image
    par expemple header('Content-type: image/jpeg');


    Ensuite enleve les '@' pour afficher les erreurs s'il y a

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 244
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 244
    Par défaut
    Salut, je te remercie pour ta reponse, mais je t'avoue n'est pas trop a l'aise et je ne vois pas trop ou je dois ajouter ce header?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec un code pour remplir une feuille de calcul
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/03/2011, 22h17
  2. quel code pour enregistrer une image dans la base de donnée
    Par bambi98 dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/05/2009, 15h55
  3. [ImageMagick] Choix pour redimensionner une image
    Par Overstone dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/08/2007, 23h39
  4. [Macro Access] pb dans mon code pour lancer une macro Access
    Par Commodore dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2007, 10h51
  5. [FTP] Code pour mettre une image en background
    Par Link14 dans le forum Langage
    Réponses: 2
    Dernier message: 24/02/2006, 21h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo