[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:
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
Citation:
�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}�-^ouC]*%>$9~:n+$Vm[K'} y9�5U}_>xBWOk҅t$@"7 N k�e3_Zmh*Ds!^<nG$0Njc X&6ԓmY[egt5kQ_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[_~!G9deS$Ӿ!ZWhUw?9'8�}s]⫙%-8;aAϿ_>#IsYm(*Ot[;kNm2Hʪ� U!k MLٍfN 6uw_g}/7skx�{-�~%<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