Prcdent   Forum des professionnels en informatique > PHP > Bibliothques et frameworks > Images > Imagick
Imagick Forum d'entraide pour l'extension Imagick permettant de manipuler des images en PHP (port de l'API ImageMagick).
Partagez cette discussion sur d'autres rseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Rponse Proposer ce sujet en actualit
 
Outils de la discussion
Publicit
'
Vieux 07/06/2007, 19h09   #1
Dbutant
 
Inscription : mai 2005
Messages : 1 959
Dtails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 959
Points : 615
Points : 615
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 :
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 installe!<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 cration 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}�-^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!
pierrot10 est dconnect   Envoyer un message priv Rponse avec citation 00
Vieux 08/06/2007, 09h23   #2
Membre clair
 
Avatar de TucSale
 
Inscription : novembre 2005
Messages : 265
Dtails du profil
Informations personnelles :
ge : 30

Informations forums :
Inscription : novembre 2005
Messages : 265
Points : 301
Points : 301
Envoyer un message via MSN  TucSale
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
TucSale est dconnect   Envoyer un message priv Rponse avec citation 00
Vieux 08/06/2007, 14h06   #3
Dbutant
 
Inscription : mai 2005
Messages : 1 959
Dtails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 959
Points : 615
Points : 615
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!
pierrot10 est dconnect   Envoyer un message priv Rponse avec citation 00
Rponse Proposer ce sujet en actualit Cette discussion est rsolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h28.


 
 
 
 
Partenaires

Hbergement Web