Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1385 connectés 

 



 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6
Auteur Sujet :

[Topic Unique] Traitement d'image avec Imagemagick (convert, mogrify)

n°3009826
Brik
Hold the line ...
Posté le 14-01-2009 à 14:46:00  profilanswer
 

Reprise du message précédent :

Megalyth a écrit :

ça marche pas mal toussa ! :D
Merci messieurs :jap:
 
Un truc kivabien pour appeler ça directement depuis l'export de C1 par exemple ? :)


 
dans C1 : "Ouvrri avec" dans l'onglet traitement, ensuite dans la fenetre tu met "*.cmd", ce qui fait apparaitre les fichier cmd (sinon il ne te propose que les exe), tu choisis ton script et c'est tout .... [:mirakle]

Message cité 2 fois
Message édité par Brik le 14-01-2009 à 14:46:17

---------------
Flick r | Imagemagick/Mogrify/Convert
mood
Publicité
Posté le 14-01-2009 à 14:46:00  profilanswer
 

n°3009844
Megalyth
no way
Posté le 14-01-2009 à 14:56:46  profilanswer
 

Brik a écrit :

dans C1 : "Ouvrri avec" dans l'onglet traitement, ensuite dans la fenetre tu met "*.cmd", ce qui fait apparaitre les fichier cmd (sinon il ne te propose que les exe), tu choisis ton script et c'est tout .... [:mirakle]

Prévu comme ça... merci de ta confirmation, ça va être cool ;)


---------------
... Feedb4ck
n°3025535
swing
Posté le 23-01-2009 à 15:48:09  profilanswer
 

brik > 2 petites remarques sur ton script "Export web au standard HFR" :
 
(1) tu n'essaies jamais la compression à 100%, c'est dommage
il vaut peut-etre mieux partir de "qual = 105", comme ca lors de la 1ère soustraction qui suit, tu essaies deja à 100% et non direct à 95%
pis perso, je trouve un peu élevé le pas de 5, mais c'est toi qui voit :)
 
(2) à la fin du traitement, mettre "set size=" et "set qual=" pour effacer les variables


---------------
photoblog
n°3026464
Bourla
Posté le 24-01-2009 à 12:19:10  profilanswer
 

[:drapal] Merci pour ces infos.

n°3029244
Brik
Hold the line ...
Posté le 26-01-2009 à 14:31:05  profilanswer
 

swing a écrit :

brik > 2 petites remarques sur ton script "Export web au standard HFR" :
 
(1) tu n'essaies jamais la compression à 100%, c'est dommage
il vaut peut-etre mieux partir de "qual = 105", comme ca lors de la 1ère soustraction qui suit, tu essaies deja à 100% et non direct à 95%
pis perso, je trouve un peu élevé le pas de 5, mais c'est toi qui voit :)
 
(2) à la fin du traitement, mettre "set size=" et "set qual=" pour effacer les variables


1 - C'est délibéré mon choix de commencer à 95% de qualité et pas au dessus, ca reste de l'export web hein, on devrait faire peut être un crop 100% de la diff entre 100 et 95 % pour voir :D
 
2 -  Le endlocal fait tout sauter sans avoir besoin de se palucher la réinitialisation des variables :jap:


---------------
Flick r | Imagemagick/Mogrify/Convert
n°3029283
swing
Posté le 26-01-2009 à 14:55:15  profilanswer
 

certes, mais de 95 à 90%, là tu dois voir qqch.
 
parfait, je savais pas pour le endlocal. je vais mettre ca aussi :)


---------------
photoblog
n°3030758
Brik
Hold the line ...
Posté le 27-01-2009 à 10:23:57  profilanswer
 

swing a écrit :

certes, mais de 95 à 90%, là tu dois voir qqch.

 

parfait, je savais pas pour le endlocal. je vais mettre ca aussi :)


Il va de pair avec le startlocal en fait, ça permet de limiter la portée des variables (entre autre)


Message édité par Brik le 27-01-2009 à 11:18:09

---------------
Flick r | Imagemagick/Mogrify/Convert
n°3030764
swing
Posté le 27-01-2009 à 10:26:32  profilanswer
 

oui, j'ai lu la doc à ce sujet :)


---------------
photoblog
n°3034500
mikeduff
Posté le 29-01-2009 à 11:41:50  profilanswer
 

Bonjour Brick,
 
J'ai lu et relu tout ton topic avec un immense intéret, car il répond sans doute tout a fait à mon problème, MAIS... car il y a un "mais", ça coince.
 
Primo, je me situe:
je suis newbie en ce qui concerne ImageMagick que j'ai découvert il y a peu.
J'ai fait pas mal de DOS et batch..... il y plus de 20 ans et je suis ..un peu rouillé
Je tourne sous Win XP et j'utilise un fichier .bat
 
Mon problème:
Je veux appliquer une commande mogrify à tous les fichiers jpg d'un dossier, mais elle est légèrement différente selon que la photo est en format portrait ou paysage;
 
J'ai donc essayé d'utiliser le batch que tu proposes (à 2 reprises d'ailleurs), mais sans succès.

Code :
  1. Code :
  2. @echo off
  3. FOR /F "usebackq delims=" %%i IN (`identify -format "%%w %%h" %1`) do call :MAJ_dimensions %%i
  4. echo LARGEUR : %largeur%
  5. echo HAUTEUR : %hauteur%
  6. REM une fois les dimensions de l'image déterminées , il est facile de connaitre son orientation
  7. if %hauteur% gtr %largeur% (
  8. REM traitement de l'image pour orientation portrait
  9. echo ORIENTATION : PORTRAIT
  10. ) else (
  11. REM traitement de l'image pour orientation paysage
  12. echo ORIENTATION : PAYSAGE
  13. )
  14. pause
  15. goto :eof
  16. :MAJ_dimensions
  17. set /A largeur=%1
  18. set /A hauteur=%2
  19. goto :eof


 
Je me suis dit que j'avais peut-être visé trop haut.
J'ai donc simplifié, sur une sugestion de Swing:

Code :
  1. @echo off
  2. for %%f in (*.jpg) do call :Traitement %%f
  3. pause
  4. :Traitement
  5. echo %%f


 
Mais même ça, ça marche pas !  :pfff:  
 
Alors, je me demande si je sais plus programmer ou si c'est mon PC qui n'interpète pas correctement mon batch.
 
C'est pour quoi mon appel à l'aide, car vous avez l'air d'être tous de super experts; alors justemenbt, si vous vous voulez m'aidez, utilisez un langage simple, hein  ;)  
 
Merci d'avance pour toute réponse
Mike

n°3034581
mikeduff
Posté le 29-01-2009 à 12:26:05  profilanswer
 

Re-bonjour  ;) ,
 
Dans ma recherche pour comprendre, j'ai encore simplifié:
 
lorsque je tape la commande suivante dans une fenêtre CMD,  

Code :
  1. identify -format %wx%h IMG_2849.jpg


elle fonctionne parfaitement et me renvoie les 2 dimensions de l'image
 
Par contre, lorsque je met la même commande dans un fichier batch ultra dépouillé:

Code :
  1. echo off
  2. identify -format %wx%h IMG_2849.jpg
  3. pause


ça ne fonctionne pas !!
 
Même pas la peine d'aller plus loin, sans doute.
qu'est-ce qui ne va pas ?
 
Merci d'avance à tous
Mike

mood
Publicité
Posté le 29-01-2009 à 12:26:05  profilanswer
 

n°3034610
Brik
Hold the line ...
Posté le 29-01-2009 à 13:01:36  profilanswer
 

mikeduff a écrit :

Re-bonjour  ;) ,

 

Dans ma recherche pour comprendre, j'ai encore simplifié:

 

lorsque je tape la commande suivante dans une fenêtre CMD,

Code :
  1. identify -format %wx%h IMG_2849.jpg


elle fonctionne parfaitement et me renvoie les 2 dimensions de l'image

 

Par contre, lorsque je met la même commande dans un fichier batch ultra dépouillé:

Code :
  1. echo off
  2. identify -format %wx%h IMG_2849.jpg
  3. pause


ça ne fonctionne pas !!

 

Même pas la peine d'aller plus loin, sans doute.
qu'est-ce qui ne va pas ?

 

Merci d'avance à tous
Mike

 

Si tu regarde bien mes exemples, au sein d'un fichier de script il faut doubler les % :)

 
Code :
  1. echo off
  2. identify -format "%%w %%h" IMG_2849.jpg
  3. pause
 


Message édité par Brik le 29-01-2009 à 13:01:48

---------------
Flick r | Imagemagick/Mogrify/Convert
n°3034825
mikeduff
Posté le 29-01-2009 à 16:10:03  profilanswer
 

Merci Brik d'avoir répondu aussi vite;
 
Et tu as bien raison, une bête faute de frappe.
Cela dit, mon vrai problème reste entier.
Voici ce que je vais faire: je mets ci-dessous le programme tel que je l'imagine.
Bien sûr, il ne fonctionne pas, mais comme la logique me paraît ... logique, j'aimerais bien savoir par où il pèche :fou:  
 
Peut-être aussi, comprendras-tu mieux ce que je veux faire:  
pour toutes les photos jpg du dossier, en récupérer hauteur et largeur et les redimensionner de telle façon que chacune d'elle, portrait ou paysage, ait sa plus petite dimension ramenée à 150

Code :
  1. for %%i in (*.jpg) do call :TRAITEMENT %%i
  2. goto :eof
  3. :TRAITEMENT
  4. set PHOTO=%i%
  5. set LARGEUR= `identify -format %%w %PHOTO%`
  6. set HAUTEUR=`identify -format %%h %PHOTO%`
  7. if %LARGEUR% > %HAUTEUR (convert -resize x150 %PHOTO%)
  8. if %LARGEUR% < %HAUTEUR (convert -resize 150x %PHOTO%)


 
Encore merci de vouloir m'aider
 
Mike

n°3034857
swing
Posté le 29-01-2009 à 16:43:42  profilanswer
 

je ferais qqch comme ça :
 
 

Code :
  1. @echo off
  2. for %%i in (*.jpg) do call :TRAITEMENT %%i
  3. goto :eof
  4. :TRAITEMENT
  5. for /F "usebackq delims=" %%i IN (`identify -format "%%w" %1`) do set /A LARGEUR=%%i
  6. for /F "usebackq delims=" %%i IN (`identify -format "%%h" %1`) do set /A HAUTEUR=%%i
  7. if %LARGEUR% GTR %HAUTEUR% (
  8.     mogrify -resize x150 %1
  9. ) else (   
  10.     mogrify -resize 150x %1
  11. )


 
ta commande "convert -resize 150x %PHOTO%" est fausse,
soit tu utilise "mogrify" pour écraser ton jpg, soit "convert", et dans ce cas tu dois donner un nouveau nom à ton jpg, "convert -resize 150x %PHOTO% cible.jpg"
(et c'est %1, pas %PHOTO%)


---------------
photoblog
n°3034917
Brik
Hold the line ...
Posté le 29-01-2009 à 17:23:00  profilanswer
 

swing a écrit :

je ferais qqch comme ça :

 


Code :
  1. @echo off
  2. for %%i in (*.jpg) do call :TRAITEMENT %%i
  3. goto :eof
  4. :TRAITEMENT
  5. for /F "usebackq delims=" %%i IN (`identify -format "%%w" %1`) do set /A LARGEUR=%%i
  6. for /F "usebackq delims=" %%i IN (`identify -format "%%h" %1`) do set /A HAUTEUR=%%i
  7. if %LARGEUR% GTR %HAUTEUR% (
  8.     mogrify -resize x150 %1
  9. ) else (   
  10.     mogrify -resize 150x %1
  11. )
 

ta commande "convert -resize 150x %PHOTO%" est fausse,
soit tu utilise "mogrify" pour écraser ton jpg, soit "convert", et dans ce cas tu dois donner un nouveau nom à ton jpg, "convert -resize 150x %PHOTO% cible.jpg"
(et c'est %1, pas %PHOTO%)


Je plussoie :jap:

 

Juste un ruc, change les noms de la variable lors des boucles FOR (pour la lisibilité) :)


Message édité par Brik le 29-01-2009 à 17:23:27

---------------
Flick r | Imagemagick/Mogrify/Convert
n°3034962
swing
Posté le 29-01-2009 à 17:45:55  profilanswer
 

yep, t'as raison :)
 
cela dit pour le script ci-dessus, la commande -resize 150x150 ne fait pas ce qu'on veux ? ca éviterait d'avoir 2 commandes en fonction de l'orientation... ou j'ai loupé un truc :??:


---------------
photoblog
n°3035033
mikeduff
Posté le 29-01-2009 à 18:42:05  profilanswer
 

BriK et Swing, vous êtes des chefs !
C'est exactement ce que je voulais faire !!
 
Maintenant, pour satisfaire la curiosité de Swing, qui se demande si je ne cherche pas midi à 14 heures (et peut-être aussi pour me dire à moi-même que je ne suis pas tout à fait chèvre  ;)  
 
Eh bien non, la commande -resize 150x150 ne fait pas ce qu'on veut. Elle fait bien le redimmensionnement de mes images, mais comme ce sont des images rectangulaires, une seule des dimensions est ramenée à 150 et, et c'est là le problème, c'est elle qui choisit laquelle des dimensions est ramenée à 150 !
 
Ainsi, avec cette commande, 2 photos de 2496 x 1664 et 1664 x 2496 sont ramenées à, respectivement, 150 x 100 et 100 x 150.
Elle chosit donc de ramener la plus grande des dimensions à 150.
 
Or c'est exactement le contraire que je veux faire: ramener la plus petite des dimensions à 150 et la solution que vous m'avez fournie le fait: j'obtiens deux photos de 225 x150 et 150 x 225.
 
A moins bien sûr qu'il y une autre façon de paramétrer -resize que je ne connais pas, ce qui est très possible.
 
Encore grand merci à tous deux !!!
Mike

n°3035061
Nicky_rr
L'art est la manière
Posté le 29-01-2009 à 19:06:42  profilanswer
 

Ben tu demandes à resizer à 255x255 :D
Généralement c'est le plus grand côté qu'on veut limiter :o


---------------
Quiconque sacrifie sa liberté pour plus de sécurité ne mérite ni l'un ni l'autre, et n'aura aucun des deux. B. Franklin - Sur internet si le service semble gratuit, c'est que le produit, c'est vous.
n°3035137
swing
Posté le 29-01-2009 à 20:37:40  profilanswer
 

:D


---------------
photoblog
n°3035211
Brik
Hold the line ...
Posté le 29-01-2009 à 21:58:30  profilanswer
 

mikeduff a écrit :

A moins bien sûr qu'il y une autre façon de paramétrer -resize que je ne connais pas, ce qui est très possible.
 
Encore grand merci à tous deux !!!
Mike


 
C'est bien ça :)
 
Content d'avoir pu aider :jap:


---------------
Flick r | Imagemagick/Mogrify/Convert
n°3037454
mikeduff
Posté le 31-01-2009 à 13:08:57  profilanswer
 

Re-bonjour,
 
Je ne pensais pas revenir sur ce sujet (car en fait, j'ai ma solution grace à Brik et Swing), et je ne voudrais pas avoir l'air de polémiquer, mais la solution, pour simple qu'elle soit de Nicky_rr, ne tient pas la route, car elle ne répond pas à mon problème.
 
Comme je l'écrivais, je veux que la plus petite des dimensions soit ramenée à 150. Et il est bien vrai que si, pour l'exemple, qui n'est qu'un exemple, que j'ai proposé, il suffirait de -resizer à 225, ça ne fonctionnera QUE si les photos originales ont les proportions que j'ai indiquées. Rien ne prouve que ce sera toujours le cas ! C'est même peu probable.
 
Moi aussi, je suis pour les solutions simples ! Mais bon, faut qu'elles marchent !
 
Mais merci à tous ceux qui apportent leur pierre. Cela porte toujours à réflexion!
 
Mike

n°3060821
100DKonnai​t
Posté le 17-02-2009 à 12:11:59  profilanswer
 

Hello,
 
Comme suggéré je viens poser ma question ici.
je voulais me mettre aux galeries avec LR , mais je ne trouve rien pour des ajouts de commentaires de la part des visiteurs.
Quelqu'un connait-il un moyen d'ajouter ceci ?
Visiblement ce n'est pas possible, connaitriez-vous un logiciel qui permettrait de belles galeries avec possibilité insertion commentaires ?
J'ai trouvé PicsEngine, flash et commentaires,  qui semble être l'outil idéal pour moi, sauf qu'il est payant.


---------------
Site
n°3060887
swing
Posté le 17-02-2009 à 13:21:42  profilanswer
 

on t'as mal renseigné.
tu devrais plutot demander ici :
http://forum.hardware.fr/forum2.ph [...] w=0&nojs=0


---------------
photoblog
n°3061511
kabouik
Posté le 17-02-2009 à 19:31:00  profilanswer
 
n°3061550
chacalopod
...passant...
Posté le 17-02-2009 à 20:04:32  profilanswer
 

:hello:  
 
Bonjour,
 
J'utilise LRmogrify sous Lightroom mais j'ai un p'tit souci ou une requète pour la prochaine version  :)  
Je voudrais créer un cadre sur les photos tout en respectant le rapport des grandeurs de sortie sur format papier... Existe-t-il une solution ?
Cad par exemple : le format 2/3 standard reflex correspond à un format photo 10x15. Donc soit on imprime la photo telle quelle sans cadre, soit, si on ajoute un cadre, il faut alors ajuster les dimensions du cadre pour conserver le rapport 2/3 (donc ne pas mettre la même épaisseur de cadre tout le tour).
Mais si on veut imprimer sur du 17x13 le ratio n'est plus de 2/3 et donc il faut changer les dimensions du cadre pour qu'il remplisse correctement le format papier.  
 
Pour une photo ca va, on peut refaire le calcul, mais quand on a un paquet de photo à traiter un logiciel avec automatisation serait sympathique...


---------------
Tofs... -- 6400 iso légèrement surex tu prôneras, 1600 iso bien sous-ex tu éviteras...
n°3063304
Brik
Hold the line ...
Posté le 19-02-2009 à 09:21:31  profilanswer
 

Bon
 
Si le plus grand coté de ton image originale + cadre homogène fait 3000 pixels (par exemple) et que tu souhaites compléter le cadre pour du 13/17 (donc rajouter une épaisseur sur la hauteur l'image) la formule sera :
<grand coté> x 13 / 17 = <petit coté>
3000 x 13 / 17 = 2294 px => taille de cadre à ajouter de chaque coté : (2294 (petit coté en 17/13) - 2000 (le petit coté en 3/2)) / 2 = 147 px
 
Fin de la démo de calcul :)
 
En script (en se basant sur l'exemple donne en premier post pour connaitre l'orientation) ça donne :

Code :
  1. @echo off
  2. FOR /F "usebackq delims=" %%i IN (`identify -format "%%w %%h" %1`) do call :MAJ_dimensions %%i
  3. echo LARGEUR : %largeur%
  4. echo HAUTEUR : %hauteur%
  5. REM une fois les dimensions de l'image déterminées , il est facile de connaitre son orientation
  6. if %hauteur% gtr %largeur% (
  7. REM traitement de l'image pour orientation portrait, le petit cote est la largeur
  8. REM Calcul de la taille du petit cote
  9. set /A largeur1317=%hauteur% * 13 / 17
  10. REM Calcul de la largeur de cadre a ajouter
  11. set /A epaisseurCadre=(%largeur1317% - %largeur%) / 2
  12. REM Ajout du cadre a proprement parler
  13. REM Pensez a traiter l'image avant !
  14. mogrify.exe -mattecolor black -frame %epaisseurCadre%x0 %1
  15. ) else (
  16. REM traitement de l'image pour orientation paysage, le petit cote est la Hauteur
  17. REM Calcul de la taille du petit cote
  18. set /A hauteur1317=%largeur% * 13 / 17
  19. REM Calcul de la largeur de cadre a ajouter
  20. set /A epaisseurCadre=(%hauteur1317% - %hauteur%) / 2
  21. REM Ajout du cadre a proprement parler
  22. REM Pensez a traiter l'image avant !
  23. mogrify.exe -mattecolor black -frame 0x%epaisseurCadre% %1
  24. )
  25. pause
  26. goto :eof
  27. :MAJ_dimensions
  28. set /A largeur=%1
  29. set /A hauteur=%2
  30. goto :eof

Message cité 1 fois
Message édité par Brik le 19-02-2009 à 09:40:37

---------------
Flick r | Imagemagick/Mogrify/Convert
n°3072111
bobor
tueur de n44b
Posté le 25-02-2009 à 23:37:45  profilanswer
 

bonjour, je cherche un moyen de recadrer en lot en croppant 3mm (sur une image à 300dpi) à droite, en haut et en bas. Faut-il faire un script ou du visual basic (que je ne sais pas faire) ou y a-t-il un moyen simple de faire ça?


---------------
Gitan des temps modernes
n°3072282
Brik
Hold the line ...
Posté le 26-02-2009 à 09:44:38  profilanswer
 

Ilo faut utiliser -shave qui supprime les bords :
 
-shave 40x40 envlève 40 pixels de chaque bord. Il te suffit de calculer combien de pixels enlever pour arriver à la taille que tu souhaites :)


---------------
Flick r | Imagemagick/Mogrify/Convert
n°3072292
Brik
Hold the line ...
Posté le 26-02-2009 à 09:53:14  profilanswer
 

Oups j'avais mal lu !

 

Si tu ne veux pas cropper à gauche il faut utiliser -crop :)

 

Avec -crop tu spécifies la taille de l'image finale en partant du coin supérieur gauche :

 
Code :
  1. convert -crop 12x15! test.jpg test-crop.jpg
 

Va conserver un rectangle de 12x 15 pixels en partant du coin supérieur gauche de l'image.

 

Donc dans ton cas il faudrait faire un truc du genre :

 
Code :
  1. convert -crop 12x15! -gravity SouthWest -crop 12 image.jpg image-crop.jpg
 

le premier crop enlève la partie à droite et en bas et le deuxième enlève la partie en haut :)

 

EDIT : c'est pas très clair, j'éditerais plus tard ;)


Message édité par Brik le 26-02-2009 à 09:57:05

---------------
Flick r | Imagemagick/Mogrify/Convert
n°3073091
bobor
tueur de n44b
Posté le 26-02-2009 à 19:39:21  profilanswer
 

euh... merci :D
Je regarderai à tête reposée ce WE :d


---------------
Gitan des temps modernes
n°3073952
gysmovoile
Pur beurre :o
Posté le 27-02-2009 à 15:09:40  profilanswer
 

Brik a écrit :

Bon
 
Si le plus grand coté de ton image originale + cadre homogène fait 3000 pixels (par exemple) et que tu souhaites compléter le cadre pour du 13/17 (donc rajouter une épaisseur sur la hauteur l'image) la formule sera :
<grand coté> x 13 / 17 = <petit coté>
3000 x 13 / 17 = 2294 px => taille de cadre à ajouter de chaque coté : (2294 (petit coté en 17/13) - 2000 (le petit coté en 3/2)) / 2 = 147 px
 
Fin de la démo de calcul :)
 
En script (en se basant sur l'exemple donne en premier post pour connaitre l'orientation) ça donne :

Code :
  1. @echo off
  2. FOR /F "usebackq delims=" %%i IN (`identify -format "%%w %%h" %1`) do call :MAJ_dimensions %%i
  3. echo LARGEUR : %largeur%
  4. echo HAUTEUR : %hauteur%
  5. REM une fois les dimensions de l'image déterminées , il est facile de connaitre son orientation
  6. if %hauteur% gtr %largeur% (
  7. REM traitement de l'image pour orientation portrait, le petit cote est la largeur
  8. REM Calcul de la taille du petit cote
  9. set /A largeur1317=%hauteur% * 13 / 17
  10. REM Calcul de la largeur de cadre a ajouter
  11. set /A epaisseurCadre=(%largeur1317% - %largeur%) / 2
  12. REM Ajout du cadre a proprement parler
  13. REM Pensez a traiter l'image avant !
  14. mogrify.exe -mattecolor black -frame %epaisseurCadre%x0 %1
  15. ) else (
  16. REM traitement de l'image pour orientation paysage, le petit cote est la Hauteur
  17. REM Calcul de la taille du petit cote
  18. set /A hauteur1317=%largeur% * 13 / 17
  19. REM Calcul de la largeur de cadre a ajouter
  20. set /A epaisseurCadre=(%hauteur1317% - %hauteur%) / 2
  21. REM Ajout du cadre a proprement parler
  22. REM Pensez a traiter l'image avant !
  23. mogrify.exe -mattecolor black -frame 0x%epaisseurCadre% %1
  24. )
  25. pause
  26. goto :eof
  27. :MAJ_dimensions
  28. set /A largeur=%1
  29. set /A hauteur=%2
  30. goto :eof



 
faudrait que j'essaye ca ...
 
ca marcherais si par exemple j'avais X photos avec des formats différents (carré, pano, 2/3, 3/2 etc ...) et que je voudrais toutes les tirer sur du 20x30 .. donc je voudrais avoir un cadre qui s'adapte autour de chaque photo .. avec une dimension minimale de chaque cadre .. disons 100px .. ?  


---------------
--> Cuisine à la Plancha, ça sent bon le soleil :) <-- Nexus 7 2013 --
n°3074136
Nicky_rr
L'art est la manière
Posté le 27-02-2009 à 17:06:13  profilanswer
 

J'ai donné des images carrées à tirer sur du 20x30, ils faisaient directement les marges qui vont bien sur le côté, pas la peine de leur donner un fichier de 20 par 30 :D


---------------
Quiconque sacrifie sa liberté pour plus de sécurité ne mérite ni l'un ni l'autre, et n'aura aucun des deux. B. Franklin - Sur internet si le service semble gratuit, c'est que le produit, c'est vous.
n°3074141
gysmovoile
Pur beurre :o
Posté le 27-02-2009 à 17:08:08  profilanswer
 

Nicky_rr a écrit :

J'ai donné des images carrées à tirer sur du 20x30, ils faisaient directement les marges qui vont bien sur le côté, pas la peine de leur donner un fichier de 20 par 30 :D


nan mais si je veux des marges noires ? :o
et je veux pas la photo pile plein cadre en fait ... ;) en gros me faudrait un truc pour créer une marie louise adaptée au format de la photo pour qu'au final ca soit tirable sur du 20x30 ou 30x40 .. a voir :)


---------------
--> Cuisine à la Plancha, ça sent bon le soleil :) <-- Nexus 7 2013 --
n°3074146
Nicky_rr
L'art est la manière
Posté le 27-02-2009 à 17:09:47  profilanswer
 

Ah ben là oui si tu veux un cadre à ta photo il faut le rajouter :o


---------------
Quiconque sacrifie sa liberté pour plus de sécurité ne mérite ni l'un ni l'autre, et n'aura aucun des deux. B. Franklin - Sur internet si le service semble gratuit, c'est que le produit, c'est vous.
n°3107021
gysmovoile
Pur beurre :o
Posté le 25-03-2009 à 11:09:56  profilanswer
 

est-ce qu'il y a un moyen facile d'avoir les dimensions de l'image de sortie (après un convert avec resize et ajout de cadres) ??
 
je galère un peu là :D


---------------
--> Cuisine à la Plancha, ça sent bon le soleil :) <-- Nexus 7 2013 --
n°3107056
gysmovoile
Pur beurre :o
Posté le 25-03-2009 à 11:25:58  profilanswer
 

j'ai trouvé mon bonheur ...
 
je finalise mon script et je le poste :)


---------------
--> Cuisine à la Plancha, ça sent bon le soleil :) <-- Nexus 7 2013 --
n°3107104
gysmovoile
Pur beurre :o
Posté le 25-03-2009 à 11:47:13  profilanswer
 

Alors, les spècs de mon script de tirage avec marie louise sont :

 

format d'image en entrée : photo retouchée en jpeg, résolution maxi, format 3/2, 2/3, carré, pano ... (voir du 4/3, ca le gère aussi) ...
format d'image en sortie :
  - la partie "image" doit faire 20cm x 30cm en 300dpi (20x20 pour un carré, 30cm de long maxi pour un pano, etc ...)
  - 10px de bordure noire ...
  - remplir de blanc pour arriver à un tirage final en 30cm x 40cm en 300dpi ...

 

voici le script (ca met les photos traitées dans le dossier outputDir):

 
Code :
  1. @echo off
  2. set outputDir=tirages
  3. for %%f in (%*) do call :Traitement %%f
  4. goto :eof
  5. :Traitement
  6. set s="%outputDir%\\%1"
  7. echo Traitement image %1
  8. FOR /F "usebackq delims=" %%i IN (`identify -format "%%w %%h" %1`) do call :MAJ_dimensions %%i
  9. REM une fois les dimensions de l'image déterminées , il est facile de connaitre son orientation
  10. if %hauteur% gtr %largeur% (
  11. REM traitement de l'image pour orientation portrait
  12. echo ORIENTATION : PORTRAIT
  13. REM resize de l'image en 20x30cm avec 10px de bordure noire
  14. convert -filter Lanczos -resize 2362x3543 -format JPEG -quality 100 -mattecolor opaque -frame 10x10 %1 %s%
  15. REM ajout de blanc pour arriver au tirage 30x40cm
  16. convert %s% -size 3543x4724 xc:white +swap -gravity center -composite %s%
  17. ) else (
  18. REM traitement de l'image pour orientation paysage
  19. echo ORIENTATION : PAYSAGE
  20. REM resize de l'image en 20x30cm avec 10px de bordure noire
  21. convert -filter Lanczos -resize 3543x2362 -format JPEG -quality 100 -mattecolor opaque -frame 10x10 %1 %s%
  22. REM ajout de blanc pour arriver au tirage 30x40cm
  23. convert %s% -size 4724x3543 xc:white +swap -gravity center -composite %s%
  24. )
  25. echo OK
  26. goto :eof
  27. :MAJ_dimensions
  28. set /A largeur=%1
  29. set /A hauteur=%2
  30. goto :eof
 

La subtilité réside dans la 2eme commande convert -size ... qui va adapter l'image au format demandé sans y toucher (et en la centrant) :)
Bref, j'ai bien fait de lire la doc d'ImageMagick : http://www.imagemagick.org/Usage/resize/#space_fill
sinon j'étais parti pour faire les calculs de bordures blanches à la con à la main :D

Message cité 1 fois
Message édité par gysmovoile le 26-03-2009 à 09:38:43

---------------
--> Cuisine à la Plancha, ça sent bon le soleil :) <-- Nexus 7 2013 --
n°3108518
Brik
Hold the line ...
Posté le 26-03-2009 à 07:57:31  profilanswer
 

gysmovoile a écrit :

Alors, les spècs de mon script de tirage avec marie louise sont :
 
format d'image en entrée : photo retouchée en jpeg, résolution maxi, format 3/2, 2/3, carré, pano ... (voir du 4/3, ca le gère aussi) ...
format d'image en sortie :
  - la partie "image" doit faire 20cm x 30cm en 300dpi (20x20 pour un carré, 30cm de long maxi pour un pano, etc ...)
  - 10px de bordure noire ...
  - remplir de blanc pour arriver à un tirage final en 30cm x 40cm en 300dpi ...
 
voici le script (ca met les photos traitées dans le dossier outputDir):
 

@echo off
 
set outputDir=tirages
 
for %%f in (%*) do call :Traitement %%f
goto :eof
 
:Traitement
 
set s="%outputDir%\\%1"
echo Traitement image %1
 
FOR /F "usebackq delims=" %%i IN (`identify -format "%%w %%h" %1`) do call :MAJ_dimensions %%i
 
REM une fois les dimensions de l'image déterminées , il est facile de connaitre son orientation
if %hauteur% gtr %largeur% (
 REM traitement de l'image pour orientation portrait
 echo ORIENTATION : PORTRAIT
 
 REM resize de l'image en 20x30cm avec 10px de bordure noire
 convert -filter Lanczos -resize 2362x3543 -format JPEG -quality 100 -mattecolor opaque -frame 10x10 %1 %s%
 REM ajout de blanc pour arriver au tirage 30x40cm
 convert %s% -size 3543x4724 xc:white +swap -gravity center -composite %s%
 
) else (
 REM traitement de l'image pour orientation paysage
 echo ORIENTATION : PAYSAGE
 
 REM resize de l'image en 20x30cm avec 10px de bordure noire  
 convert -filter Lanczos -resize 3543x2362 -format JPEG -quality 100 -mattecolor opaque -frame 10x10 %1 %s%
 REM ajout de blanc pour arriver au tirage 30x40cm
 convert %s% -size 4724x3543 xc:white +swap -gravity center -composite %s%
 
)
 
echo OK
 
goto :eof
 
:MAJ_dimensions
set /A largeur=%1
set /A hauteur=%2
goto :eof


 
La subtilité réside dans la 2eme commande convert -size ... qui va adapter l'image au format demandé sans y toucher (et en la centrant) :)
Bref, j'ai bien fait de lire la doc d'ImageMagick : http://www.imagemagick.org/Usage/resize/#space_fill
sinon j'étais parti pour faire les calculs de bordures blanches à la con à la main :D


 
Ah ben oui c'est tou con en fait  [:canaille]  
 
 


---------------
Flick r | Imagemagick/Mogrify/Convert
n°3108573
gysmovoile
Pur beurre :o
Posté le 26-03-2009 à 09:35:40  profilanswer
 

Brik a écrit :


 
Ah ben oui c'est tou con en fait  [:canaille]  
 
 


 
oue en fait c'est également utilisable pour faire les formats web quoi :)
tu resizes la photo a la taille désirée ...
et ensuite un coup de size pour agrandir l'image a la taille finale avec la bordure ... :)


---------------
--> Cuisine à la Plancha, ça sent bon le soleil :) <-- Nexus 7 2013 --
n°3108581
gysmovoile
Pur beurre :o
Posté le 26-03-2009 à 09:47:04  profilanswer
 

jsuis en train de regarder la commande "montage"
 
pour faire des diptyques / triptyques ou + ultra facilement :)


---------------
--> Cuisine à la Plancha, ça sent bon le soleil :) <-- Nexus 7 2013 --
n°3108597
Brik
Hold the line ...
Posté le 26-03-2009 à 10:05:27  profilanswer
 

gysmovoile a écrit :

jsuis en train de regarder la commande "montage"
 
pour faire des diptyques / triptyques ou + ultra facilement :)


Ouais pas mal !!
 
En ce moment mon appareil prend la poussière, mais je vais m'y remettre .... Avec Mme enceinte j'ai pas trop de temps (elle peut pas trop bouger e n fait).


---------------
Flick r | Imagemagick/Mogrify/Convert
n°3125429
cooltwan
Posté le 08-04-2009 à 10:58:04  profilanswer
 

flag

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6

Aller à :
Ajouter une réponse
 

Sujets relatifs
[ Topic unique] Panasonic FZ28[Topic Unique] Best of HFR 2008 - C'est 180 Ko MAX bordel !
### Le Seul, le Vrai L'Unique Bistrot des Topheux et Topheuses ! ###[Topic Unique] CANON G10
Problème avec Konica Minolta DiMAGE A200 : image qui "clignote"...proils couleurs pour traitement photo
[Topic Unique] Canon EF 24mm f:1,4 L (I et II)Recherche logiciel pour connaître la police utilisée dans une image
Comment supprimer le nom d'un site d'une image avec photoshop CS2?[Topic unique] Kodak Easyshare Z1085 IS 10 Megapixels Zoom x5 Video HD
Plus de sujets relatifs à : [Topic Unique] Traitement d'image avec Imagemagick (convert, mogrify)


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR