Redimentionnement avec ImageMagick.

Redimentionnement avec ImageMagick. - PHP - Programmation

Marsh Posté le 23-05-2006 à 19:15:46    

Je deviens dingue, je cherche à faire un truc tout bête, redimentionner une image via Imagemagick installer sur mon serveur.
Je pourrais le faire avec GD mais je pense que ça ira plus vite avec ImageMagick donc je fais des essais.
 
Tout ce que je veux, c'est que les images soient redimenssionner à 560x420 pixels même si le résultat n'est plus homothétique.
 
Voilà ce que je tente en php

Code :
  1. $rname='tzrtzr';
  2. $nom_image[0]='azf4-6.jpg';
  3. $nom_image[1]='azf4-34.jpg';
  4. $nom_image[2]='azf4-6.jpg';
  5. $nom_image[3]='azf4-33.jpg';
  6. $nom_image_ren[0]='azf4-6'.$rname.'.jpg';
  7. $nom_image_ren[1]='azf4-34'.$rname.'.jpg';
  8. $nom_image_ren[2]='azf4-6'.$rname.'.jpg';
  9. $nom_image_ren[3]='azf4-33'.$rname.'.jpg';
  10. for ($i=0;$i<4;$i++) {
  11. $exec='/usr/bin/convert -resize 560x420 "'.$nom_image[$i].'" "'.$nom_image_ren[$i].'"';
  12. exec($exec);
  13. }


 
Voilà le résultat =>
http://www.gloriette-artemis.net/c [...] eimage.php
 
Il prend en compte la largeur, mais pas la hauteur.
 
Je n'arrive pas à trouver l'astuce d'imagemagick et je suis très mauvais en Anglais, donc, bonjour les docs en Français sur le sujet.
 
Merci d'avance de votre aide, autrement je passerais par GD, mais ce n'est que le début d'un long traitement et ça ira surement plus vite via des outils dédiés à ça.


Message édité par The-Shadow le 23-05-2006 à 19:16:42
Reply

Marsh Posté le 23-05-2006 à 19:15:46   

Reply

Marsh Posté le 23-05-2006 à 19:33:44    

c'est bizarre apparament il conserve l'aspect ratio dans ton cas :/
 
alors que tu l'utilises comme dans la doc :/
http://www.imagemagick.org/script/ [...] php#resize

Reply

Marsh Posté le 23-05-2006 à 19:35:53    

Bah ouai, j'ai fais l'effort de lire la doc, pourtant, en Anglais, mais je pige pas, que j'utilise resize ou geometry, à chaque fois, il conserve les proportions de l'image, sauf que pour une fois, je veux pas. :'(

Reply

Marsh Posté le 23-05-2006 à 19:36:29    

Code :
  1. $exec='/usr/bin/convert -sample 560x420 "'.$nom_image[$i].'" "'.$nom_image_ren[$i].'"';


?

Reply

Marsh Posté le 23-05-2006 à 19:40:24    

Même résultat avec sample. :/

Reply

Marsh Posté le 23-05-2006 à 20:14:04    

C'est dingue ce truc quand même.
 
Y'a pas d'utilisateur d'ImageMagick sur ce forum ?

Reply

Marsh Posté le 23-05-2006 à 20:27:21    

C'est bon, j'ai trouvé, voilà le truc en plus qui change tout :

Code :
  1. $exec='/usr/bin/convert  '.$nom_image[$i].' -resize 560x420\! '.$nom_image_ren[$i].' ';


 

Reply

Marsh Posté le 23-05-2006 à 20:27:24    

ya pas un fichier de config par hasard ?

Reply

Marsh Posté le 23-05-2006 à 20:32:41    

Je sais pas. :D
 
Enfin, disons qu'il n'y en a pas dans etc après, je sais pas si c'est une obligation qu'il soit à cet endroit sous Debian. :D

Reply

Marsh Posté le 23-05-2006 à 20:54:19    

et tu peux pas juste modifier le template et foutre toutes tes images a la taille désirée ?

Reply

Marsh Posté le 23-05-2006 à 20:54:19   

Reply

Marsh Posté le 23-05-2006 à 20:55:53    

Non c'est bon, j'ai trouvé la solution, 3 messages au dessus. :D
 
De plus, c'est pour générer un PDF, donc, pas d'histoire de template là dedans. :D

Message cité 1 fois
Message édité par The-Shadow le 23-05-2006 à 20:56:33
Reply

Marsh Posté le 23-05-2006 à 21:01:20    

encroe parlé pour rien dire :D

Reply

Marsh Posté le 23-05-2006 à 21:25:07    

Tout ça pour générer à partir de juste 4 petites JPEG et de quelques masques alpha ce genre de résultat :
http://www.gloriette-artemis.net/c [...] ndrier.php
 
:D
 
C'est juste des tests, mais ça fonctionne plutot bien pour le moment. :D

Reply

Marsh Posté le 24-05-2006 à 08:30:37    

The-Shadow a écrit :

Tout ça pour générer à partir de juste 4 petites JPEG et de quelques masques alpha ce genre de résultat :
http://www.gloriette-artemis.net/c [...] ndrier.php
 
:D
 
C'est juste des tests, mais ça fonctionne plutot bien pour le moment. :D


 
 
Bonjour The-Shadow,
 
Je trouve que le résultat est vraiment bien et ton script m'interesse .
Es-ce que tu partage ton travail ? ou préffére tu garder cela pour ton site ( ce que je comprendrais )
 
Bien à toi
JuVeNaL

Reply

Marsh Posté le 24-05-2006 à 08:55:45    

Je partage mes faibles connaissances, mais pas mon travail.  
Je ne filerais pas mes sources si c'est ça ta question, déjà parce que ça ne serait bénéfique ni pour toi ni pour moi et ensuite parce qu'on n'est jamais à l'abri d'une faille, surtout que mes scripts sont souvent incompréhensible car ils sont interfacés avec le site en question. :D
 
Par contre, si tu veux faire la même chose, je serais là pour t'aider à chaque étape si tu en ressens le besoin. Et dis toi que si moi j'y arrive, c'est que ce n'est vraiment pas compliqué. :D

Reply

Marsh Posté le 24-05-2006 à 09:04:19    

The-Shadow a écrit :

Je partage mes faibles connaissances, mais pas mon travail.
Je ne filerais pas mes sources si c'est ça ta question, déjà parce que ça ne serait bénéfique ni pour toi ni pour moi et ensuite parce qu'on n'est jamais à l'abri d'une faille, surtout que mes scripts sont souvent incompréhensible car ils sont interfacés avec le site en question.  :D

 

Par contre, si tu veux faire la même chose, je serais là pour t'aider à chaque étape si tu en ressens le besoin. Et dis toi que si moi j'y arrive, c'est que ce n'est vraiment pas compliqué.  :D

 


C'étais bien ma question ;-) . Je comprend et je respecte si j'ai besoin d'aide je post sur ce post .
 
Bien à toi
JuVeNaL

Reply

Marsh Posté le 24-05-2006 à 09:39:05    

The-Shadow a écrit :

Non c'est bon, j'ai trouvé la solution, 3 messages au dessus. :D
 
De plus, c'est pour générer un PDF, donc, pas d'histoire de template là dedans. :D


 
et donc la réponse c'était quoi ?

Reply

Marsh Posté le 24-05-2006 à 10:22:14    

Bah c'était juste de rajouter ça : \! derrière la taille voulue. Le truc trop nul et trop dur à trouver en plus.

Reply

Marsh Posté le 30-05-2006 à 19:27:34    

Un petit Up juste pour dire que je suis impressionné par la vitesse de traitement d'imagemagick.
Je génére mon calendrier, avec les 12 blocs, les jours, etc. et par dessus ça, je converti le pdf en jpeg pour que l'utilisateur voit une miniature avant de le télécharger et toutes ses opérations prennent à peu près 1,5secondes de générations de la page (en comptant toutes la gestion du forum derrière).
chapeau.

Reply

Marsh Posté le 30-05-2006 à 19:45:02    

The-Shadow a écrit :

Un petit Up juste pour dire que je suis impressionné par la vitesse de traitement d'imagemagick.
Je génére mon calendrier, avec les 12 blocs, les jours, etc. et par dessus ça, je converti le pdf en jpeg pour que l'utilisateur voit une miniature avant de le télécharger et toutes ses opérations prennent à peu près 1,5secondes de générations de la page (en comptant toutes la gestion du forum derrière).
chapeau.

 


Oui mais d'apres ce que j'ai vu dans ton code c'est une commande externe .
Je trouve dommage que Imagemagick n'est pas intégrer comme module et non comme soft externe  
car la libgd reste quand meme lourd pour des traitements multuple
 
JuVeNaL

Reply

Marsh Posté le 30-05-2006 à 20:16:12    

JuVeNaL a écrit :

Oui mais d'apres ce que j'ai vu dans ton code c'est une commande externe .
Je trouve dommage que Imagemagick n'est pas intégrer comme module et non comme soft externe  
car la libgd reste quand meme lourd pour des traitements multuple
 
JuVeNaL


Disons que ce n'est pas tout à fait le même usage.
Je pense pouvoir dire, à force d'utilisation, que je connais très bien GD2 et plus je découvre Imagemagick et plus je me rends compte que GD fait un peu pitié niveau possibilité, du moins, sans aller jusqu'à "faire pitié", fait office de dépannage plutot que de réel outil. Les possibilités d'Imagemagick sont vraiment étonnantes et son interaction avec d'autres librairie du système, tel que Ghostscript (pour convertir les PDF notemment) font qu'il est vraiment au point.
Après, le problème, c'est qu'effectivement, sans serveur dédié, je ne sais pas si IM est accessible pour un mutualisé.
 

Reply

Marsh Posté le 30-05-2006 à 20:24:40    

JuVeNaL a écrit :

Oui mais d'apres ce que j'ai vu dans ton code c'est une commande externe .
Je trouve dommage que Imagemagick n'est pas intégrer comme module et non comme soft externe  
car la libgd reste quand meme lourd pour des traitements multuple


C'est justement ça qui fait son efficacité. Si c'était php qui traitait, ça ferait un veau de plus dans la catégorie "traitement d'image automatisé".


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 30-05-2006 à 22:48:14    

Oui il faut un dédié.
C'est vrai que la lib GD2 est très gourmande suivant la demande.
1,5 secondes à mon avis en GD2 ça prend bien 5 à 10 secondes  
Je l'utilise pour mes galleries génération de thumbs avec copyright dessus et honnétement , c'est lent .
Je vais voir avec imagemagik
 
JuVeNaL

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed