Un outil pour redimensionner des TIFF en ligne de commande ?

Un outil pour redimensionner des TIFF en ligne de commande ? - Logiciels - Windows & Software

Marsh Posté le 04-02-2011 à 12:43:28    

Bonjour
 
J'ai un problème : Je dois parcourir des centaines de répertoires, trouver tous les TIFF, et les re-formater en 300*300 noir et blanc.
Vous avez une idée ?
J'ai trouvé un utilitaire, mais il est payant. Une idée en gratuit ? Ou du payant qui fonctionne bien ?


Message édité par tuxbleu le 04-02-2011 à 16:31:10

---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 04-02-2011 à 12:43:28   

Reply

Marsh Posté le 04-02-2011 à 12:49:02    

ImageMagick

Reply

Marsh Posté le 04-02-2011 à 14:44:35    

ca m'a l'air un tres bon outil.
Tu connais le terme anglais pour "format (en dpi) " ?ya tellement d'options :sweat:


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 04-02-2011 à 14:55:40    

auto réponse : -density


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 04-02-2011 à 15:07:08    

me reste à trouver la conversion en noir et blanc, et là je rame...


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 04-02-2011 à 15:13:53    

-monochrome

Reply

Marsh Posté le 04-02-2011 à 15:14:21    

Reply

Marsh Posté le 04-02-2011 à 15:22:47    

j'ai trouvé -monochrome ...


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 04-02-2011 à 15:25:26    


Ouep, je suis dessus ! merci  tout de meme
Toutefois, le plus dur est de savoir si je dois chercher "black and white", ou "no-color", ou "grey-scale", etc.
Ca a l'air super puissant comme outils.
A tout hasard, avant que je ne cherche à fond sur le sujet, tu sais si il y a des fonction de récursivité ?
ca m'éviterait de faire un script bat de recherche des tif, etc...
 :jap:


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 04-02-2011 à 16:35:22    

je ne crois pas. En fait pour ce genre d'usages perso je me base soit sur du vbscript ou du shell (cygwin).
 
Beaucoup plus simple de taper un find -iname *.tiff -exec trucmuche {}\; que de se taper ouatmille lignes de batch imbitable.
 
Je touche plus au batch depuis pas mal d'années.

Reply

Marsh Posté le 04-02-2011 à 16:35:22   

Reply

Marsh Posté le 07-02-2011 à 10:44:33    

je commençais à essayer de faire ca en vbs. ton "find"  me plait là :D
Pour info, imagemagick sait gérer du "*.tif" pour appliquer à tous les tiff d'un dossier.
J'ai essayé ( sans y croire, mais qui sait [:joce] ), de faire un  
mogrify -monochrome D:\repertoire1\*\respertoire2\*.tif
Il aime pas [:ddr555]


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 07-02-2011 à 11:04:30    

En vbs ca doit pas être trop difficile non plus.
Si tu m'expliques un peu ton arborescence je peux t'aider a boucler ton script au besoin.
 
Ou alors effectivement en shell avec cygwin.

Reply

Marsh Posté le 07-02-2011 à 12:25:32    

Alors, à partir d'un répertoire particulier D:\DossierSource\
J'ai pleins de répertoires dont je ne peux connaitre les nom à l'avance.
Dans chacun de ces répertoires, j'ai une arborescence prédéfinie,  
D:\DossierSource\*\arborescenceQueJeConnais\
à cet endroit là, j'ai une série de répertoires dont je ne connais pas le nom, et dans chacun de ces répertoires, je dois appliquer ma transformation à tous les tif.
 
Je propose un truc de ce gout là :
 

racine= "D:\DossierSource\"
 
Set FSO = WScript.CreateObject("Scripting.FileSystemObject" )
Set repertoireRacine=FSO.GetFolder(racine)
 
Set WshShell = WScript.CreateObject("WScript.Shell" )
 
for each subFolder in repertoireRacine.SubFolders ' D:\DossierSource\*
        if not fso.folderExists("SubFolder\arborescenceQueJeConnais\" ) then next 'Selon les dossier, cette arborescence n'existe pas et il n'y a rien à faire dans ce cas là.
 for each subFolder2 in SubFolder\arborescenceQueJeConnais\
  'WshShell.run "mogrify -monochrome -density 300x300 subFolder2\*.tif"  
 next
next


 
Je ne suis pas forcement super à l'aise avec le syntaxe vbs, il interprète bien les mélanges variable\constanteTexte ? Il me semble que oui, même si ca me fait bizarre en comparaison à d'autres langages où les syntaxes sont plutôt de style variable."constante".variable ...


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 07-02-2011 à 13:03:06    

C'est correct a peu de choses près. T'avais juste ta boucle interne un peu foireuse (on ne peut pas mettre de "Next" dans le if pour sortir de la boucle de cette façon. Et les concaténations se font avec le classique "string1" & variable & "string2"
 


racine= "D:\DossierSource\"
 
Set FSO = WScript.CreateObject("Scripting.FileSystemObject" )
Set repertoireRacine=FSO.GetFolder(racine)
 
Set WshShell = WScript.CreateObject("WScript.Shell" )
 
for each subFolder in repertoireRacine.SubFolders ' D:\DossierSource\*
        if fso.folderExists(subFolder.Path & "/arborescenceQueJeConnais" ) then
  Set repertoireEnfant = FSO.GetFolder(SubFolder & "/arborescenceQueJeConnais" )
  for each subFolder2 in repertoireEnfant.SubFolders
  'WshShell.run "mogrify -monochrome -density 300x300 " & subFolder2.Path & "/*.tif"  
  next
  End If
next  


Message édité par ccp6128 le 07-02-2011 à 13:13:13
Reply

Marsh Posté le 07-02-2011 à 14:30:35    

Super merci, je m'en vais tester ca :)


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 08-02-2011 à 13:50:20    

Super ce script, je viens de l'essayer.
ALERTE toutefois, les ressources sur un traitement récursif de masse sont très très sollicitées  :whistle:


---------------
Mon topic de vente - Mon feed-back
Reply

Marsh Posté le 08-02-2011 à 13:56:54    

Y'a des paramètres optionnels intéressants cf http://msdn.microsoft.com/en-us/li [...] 85%29.aspx
 
Tu devrais modifier ta ligne Run de la façon suivante:
 

WshShell.run "mogrify -monochrome -density 300x300 " & subFolder2.Path & "/*.tif" , 1 , true


 
De cette façon ca ne lancera qu'un script de conversion à la fois.

Reply

Marsh Posté le 08-02-2011 à 14:11:56    

Putain je suis trop con.
j'ai des scripts vbs où je me sers du wait en plus ! (,1,true)


---------------
Mon topic de vente - Mon feed-back
Reply

Sujets relatifs:

Leave a Replay

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