Lot de redimensionner les images dans un nouveau dossier à l'aide de ImageMagick
J'ai un dossier d'images sur 4MB
- appelons ce dossier dsc_big/
. Je voudrais utiliser convert -define jpeg:extent=2MB
pour les convertir en vertu de 2MB
et copie dsc_big/*
à un dossier dsc_small/
qui existe déjà.
J'ai essayé convert dsc_big/* -define jpeg:extent=2MB dsc_small/
mais qui produit des images appelées -0
, -1
, et ainsi de suite.
Que dois-je faire?
Vous devez vous connecter pour publier un commentaire.
convert
est conçu pour gérer un seul fichier d'entrée pour autant que je peux dire, même si je dois avouer que je ne comprends pas le résultat que vous obtenez. mogrify est mieux adapté pour le traitement par lots dans le style suivant:Mais honnêtement, je considère qu'il est dangereux pour un usage général (il va remplacer les images d'origine si vous oubliez que
-path
) j'ai donc toujours utiliserconvert
couplé avec une boucle for pour cela:La
basename
appel n'est pas nécessaire si vous êtes à la transformation des fichiers dans le répertoire courant.mogrify
?convert *.jpg *.png
. Cependant, je ne sais pas comment gérer les noms de fichier de sortie, parce que ImageMagick juste mettre le nom d'un numéro séquentiel (c'est à dire:1.png, 2.png, 3.png, et ainsi de suite)C'était la commande qui m'a permis de après une longue essayer.
J'ai voulu faire de même taille des vignettes à partir d'une grande liste d'images de grande taille qui ont de la variable de largeur et de hauteur . C'était pour la création d'une page de la galerie.
Je me suis re-taille des vignettes qui tous ayant la même largeur et la hauteur. 🙂 merci pour ImageMagick.
Voici une solution sans à l'aide de boucles sur la console
Bien que c'est une vieille question, mais je suis l'ajout de cette réponse pour le bénéfice de quelqu'un d'autre qui tombe sur ce.
J'ai eu exactement le même problème, et d'être découragé par l'utilisation de
mogrify
, j'ai écrit un petit Python utilitaire appelé easymagick pour rendre ce processus plus facile, tandis que l'interne à l'aide de laconvert
de commande.Veuillez noter, c'est toujours un travail en cours. Je vais apprécier tout type de commentaires que je peux obtenir.
Cela fonctionne pour moi
produit image-0.jpg, image-1.jpg, image-2.jpg ..... dans la 'rotation' dossier. Ne sais pas de manière à préserver les noms des fichiers d'origine si.
mogrify -path rotate -rotate 90 *.png
J'ai trouvé que
cd
-ing dans le dossier souhaité, puis à l'aide de la fête de la variable globale$PWD
fait monconvert
pas jeter des erreurs. Je l'utilise ImageMagick récemment mis en œuvrecaption:
http://www.imagemagick.org/Usage/text/#caption fonction de l'étiquette de mes images avec le nom de fichier de base et de les placer dans un autre répertoire à l'intérieur de la première."$f"
plutôt que$f
dans les lignes de départwidth=...
etfilename=...
dans le cas où il y a les noms de fichiers avec des espaces entre eux.