Apple Automator: paramètres de compression pour le format jpg?
Quand je lance d'Apple Automator suffit de couper un tas d'images dans leur taille Automator permettra également de réduire la qualité des fichiers (jpg) et ils deviennent floues.
Comment puis-je éviter cela? Sont il y a des paramètres que je peux prendre le contrôle de l'?
Edit:
Ou existe-il d'autres outils qui font le même travail, mais sans affecter la qualité de l'image?
OriginalL'auteur Melros | 2012-05-22
Vous devez vous connecter pour publier un commentaire.
Automator “Rogner l'image” et “l'Échelle des Images” actions n'ont pas les paramètres de qualité – comme c'est souvent le cas avec Automator, la simplicité l'emporte sur la configurabilité. Cependant, il est une autre façon d'accéder à CoreImagel'image de la manipulation des installations sans avoir recours à de Cacao de programmation: le Scriptable Système de Traitement d'Image, ce qui rend les fonctions de traitement d'image disponible pour
sip
utilitaire. Vous pouvez jouer avec le plus de minutes de paramètres à l'aide, mais comme c'est un peu les arcanes de la manipulation, vous pourriez être mieux servis avec de la seconde manière,AppleScript via Les Événements De L'Image, un scriptable dénués d'arrière-plan de l'application fournie par OS X. Il y a
crop
etscale
commandes, et la possibilité de spécifier un niveau de compression lors de l'enregistrement au format JPEG avecUtiliser un “Exécuter AppleScript” action à la place de votre “Culture” /“Échelle” de l'un et de l'envelopper les Événements de l'Image commandes dans un
tell application "Image Events"
bloc, et vous devriez être en jeu. Par exemple, à l'échelle de l'image à la moitié de sa taille et de l'enregistrer sous JPEG avec une meilleure qualité, d'écraser l'original:– pour les autres échelles, d'ajuster le facteur (1 = 100 %, .5 = 50 %, .25 = 25 %, etc.); pour une culture, de remplacer le
scale aPicture by factor X
parcrop aPicture to {width, height}
. Mac OS X Automation a de bons tutoriels sur l'utilisation de deux l'échelle et culture.Actions Automator sont conçus pour la simplicité, pas de possibilités de configuration, ce qui signifie que la plupart sont à la merci des décisions de l'action développeur de leur mise en œuvre.
J'ai élargi ma réponse avec des exemples de code.
Merci pour votre réponse détaillée! Cela m'a amené sur un nouveau chemin que je vais certainement découvrir plus à l'avenir!
OriginalL'auteur kopischke
Si vous voulez avoir plus de contrôle sur le montant de la compression JPEG, comme kopischke dit que vous aurez à utiliser la
sips
utilitaire, qui peut être utilisé dans un script shell. Voici comment vous pouvez faire cela dans Automator:D'abord obtenir les fichiers et la configuration de la compression:
La Demander de Texte action ne doit pas accepter n'importe quelle entrée (clic droit dessus, sélectionnez "Ignorer Entrée").
Assurez-vous que la première Obtenir la Valeur de la Variable action n'est pas accepter n'importe quelle entrée (clic droit, sélectionnez "Ignorer Input"), et que la seconde Obtenir la Valeur de la Variable prend l'entrée de la première. Cela crée un tableau qui est ensuite transmis au script shell. Le premier élément du tableau est le niveau de compression qui a été donné à l'Script Automator. Le second est la liste des fichiers que le script ne le
sips
commande sur.Dans les options en haut de la Exécuter le Script Shell action, sélectionnez l'option "/bin/bash" de la Coquille et sélectionnez "comme arguments" pour Passer d'Entrée. Puis collez ce code:
Si vous cliquez sur Résultats en bas, il va vous dire quel fichier il travaille actuellement. Avoir du plaisir en comprimant!
Ici, vous allez: wikiupload.com/5Z3C6CITGTBFW4R
OriginalL'auteur Eric
Le code de Eric est tout simplement génial. Pouvez obtenir la plupart des tâches.
mais si l'image du nom de fichier contient des espaces, ce flux de travail pas de travail.(en raison de l'espace, va briser le script shell lors du traitement des gorgées.)
Il existe une solution simple: ajouter "Renommer Finder Élément" dans ce flux de travail.
remplacer les espaces par des "_" ou quelque chose que vous aimez.
ensuite, il est bon d'aller.
OriginalL'auteur user3126985
Commentaire de '17
Pour éviter "l'espace" le problème, c'est plus intelligent de modifier FI à renommer.
De retour en cours de l'IFS et de le modifier \n seulement. Et de restauration IFS après la boucle de traitement.
OriginalL'auteur nyam