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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les rponses en temps rel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothques et frameworks PHP Discussion :

[ImageMagick] Problme dans le code pour redimensionner une image


Sujet :

Bibliothques et frameworks PHP

  1. #1
    Dbutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Dtails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par dfaut [ImageMagick] Problme 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 redimentionnes
    +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 : Slectionner tout - Visualiser dans une fentre 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 redimentionne
    �C�     �C   ���"������������ ����}�!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������� ���w�!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz� ��?�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�* x;]áhޖ61\ < (_GLሓA^ gU)u\V1hr֫R)F[躝Qs_{,.੅.I<<JK$[I/yݙſuY S!OkpgNk":SO}NyjjIʓQEQQE�QE�QGJ(�(�(�qsjKV(#ycD\GEEu/đe\zke(0 =(UVI۰\w)Bz{֤E<6hֽ$V06I铜{5bu*@"+Z*z$ocYTvcQǞ&VAϥtsB-t,Y?v|sGo3m{`Ӟ3v�mgΉºk,Ylp\;z}�-^o uC ]*%>$9~:n+$Vm[K'} y9�5U}_>xBWOk҅t$@"7 N k�e3_Zmh*Ds!^<nG$0Njc X&6ԓmY[egt΍5kQ_Vx!EPEPEPEP[^f}Gu7l`iYWh{+g[{�]K{;(ٯ=u=GM'52FPm27,՛&c2i`[MsO_ce]sI~'0dMkKNF*vF^7Of_gobǓ_gW[aT�Nx5x#@ZRG#jlFs_�|G{ /3?MH/E&`1.x_yk�oi>-o/ N0G^w~;>nN )Ҵ )ғvvhOu_ HM^m~[P}nH?c,m#R?u9P*�^-�̺<54R0C*I}6+c_] U?wi>?}\ H|Et~8uo|Q_W7$W4eO =Esf5f83cnN3ҽ7![KR9"A%lc^, zo|?4ɢWM[yY+TJ>�Z?]z9cFU9g�O!z�Su{,ibX핐w`}9x_h֪Br�''Vޣw_? m.dI#."IͅyysE` *^IMZ^�ΥLN&X='*pzyym~V:.Jr]2ǃ H;F' ;V7ï6O<M-೰ݽuly!ڼ0]Yt/:ͽy-`O}\LJ.`Z{?3gn囒XfxL-�zxQE[_~!G9de S՗$ Ӿ!ZWhUw?9'8�}s؁]⫙%-8;aAϿ_>#IsYm(*Ot[;kNm2Hʪ� U!k MLٍfN 6 uw_g}/7sk  x�{-�~%<rB)ex] ~~eS*?ϥ !|u_7.Xqc&ߍ"8h&Ks*i|Qe˵.E�iTbEP3_~ۡ8麦+rGeٝ|儴<!&8/ P~x¦ޯk]�t5T|K=*'CIۼܜX<ϟhw:%Ò7lyI9̱6U= J�k9>$Z薺^mbu`*Wq[(g Ol·tMfNRIyX)j?B28 N.wzsu#jloF9 p +=!|q"uki'cv.>ze?d6vlgv݆#+#JO9E+#I5[ /.-p�|o>^85}3VRYПݴ5B^j^-7iJe\NKM|Q֟LY˦ e9!< *mODɫ3O|#߆_]3'fm5!|Ȓ9?ʹRI5zvxv*6 cơټ V+Kòi3Hh{yOb8L<_W5(=Uޫ^?) IbM¬tz^2^M^zǟBU98*[,D[dE}$R ~_Gᶲ`o8G]_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
    Il ne suffit pas de tout savoir. Vouloir et persvrer, c'est dj presque tout!

  2. #2
    Membre averti Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Dtails du profil
    Informations personnelles :
    ge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Points : 325
    Points
    325
    Par dfaut
    bonjour,

    ajoute un header aprs la cration de ton image
    par expemple header('Content-type: image/jpeg');


    Ensuite enleve les '@' pour afficher les erreurs s'il y a
    Tuc l'Original, On ne peut que l'aimer

  3. #3
    Dbutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Dtails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par dfaut
    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?
    Il ne suffit pas de tout savoir. Vouloir et persvrer, c'est dj presque tout!

+ Rpondre la discussion
Cette discussion est rsolue.

Discussions similaires

  1. Problme avec un code pour remplir une feuille de calcul
    Par NEC14 dans le forum Macros et VBA Excel
    Rponses: 11
    Dernier message: 31/03/2011, 22h17
  2. quel code pour enregistrer une image dans la base de donne
    Par bambi98 dans le forum Bases de donnes
    Rponses: 1
    Dernier message: 15/05/2009, 15h55
  3. [ImageMagick] Choix pour redimensionner une image
    Par Overstone dans le forum Bibliothques et frameworks
    Rponses: 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
    Rponses: 4
    Dernier message: 20/06/2007, 10h51
  5. [FTP] Code pour mettre une image en background
    Par Link14 dans le forum Langage
    Rponses: 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