FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment automatiser Photoshop avec des scripts Photoshop

Photoshop est un outil merveilleux pour éditer des images - et ce n'est un secret pour personne que nous en sommes de grands fans ici. Nous avons déjà expliqué comment concevoir un logo simple et comment corriger les photos surexposées. L'automatisation est donc la prochaine étape logique une fois que vous maîtrisez les bases.

Vous avez peut-être entendu parler des actions Photoshop . Ceux-ci vous offrent un moyen simple d'automatiser les tâches. Aujourd'hui, je vais vous montrer comment utiliser les scripts Photoshop . Les scripts Photoshop sont légèrement plus puissants que les actions et vous permettent de modifier le comportement du script lors de l'exécution, ce que les actions ne peuvent pas faire !

Ne vous inquiétez pas si cela semble complexe :les scripts sont écrits en JavaScript, un langage simple mais puissant.

Si vous êtes un fan de GIMP ou si vous ne voulez pas dépenser d'argent pour Photoshop, consultez notre guide pour automatiser GIMP avec des scripts.

Votre premier script :redimensionner les images

Lors de l'écriture de scripts, vous pouvez utiliser la boîte à outils ExtendScript. Vous n'êtes pas obligé de l'utiliser, vous pouvez utiliser n'importe quel éditeur de texte que vous aimez (j'aime Sublime Text), mais il y a beaucoup d'avantages à utiliser cette boîte à outils à la place. Le plus grand avantage est que vous pouvez définir des points d'arrêt , ce qui facilite le débogage de votre code et l'identification des bogues.

Comment automatiser Photoshop avec des scripts Photoshop

Le kit d'outils ExtendScript est inclus dans votre abonnement Creative Cloud, alors n'hésitez plus et installez-le depuis votre application Creative Cloud ou le site Web ci-dessus.

Ouvrez la boîte à outils une fois installée. Vous serez présenté avec cette interface plutôt datée :

Comment automatiser Photoshop avec des scripts Photoshop

Voici le code de votre premier script :copiez-le et collez-le dans la fenêtre de code principale à gauche :

current_document =app.activeDocument ; 
nouvelle_largeur =670 ;
document_actuel.resizeImage(
UnitValue(nouvelle_largeur, 'px'),
nul,
nul,
ResampleMethod.BICUBIC
);

Décomposons ce que fait ce code. Le document_actuel la variable stocke l'objet du document actif de Photoshop. Ceci est accessible à l'aide de app.activeDocument syntaxe. Si vous n'avez pas Photoshop en cours d'exécution avec un document ouvert, ce code lèvera une exception . Les exceptions sont des moyens pour le code d'arrêter l'exécution -- ce script ne peut pas continuer s'il n'y a pas de document !

La nouvelle_largeur variable stocke la largeur souhaitée pour votre nouveau document.

Enfin, le resizeImage méthode redimensionne l'image. Ceci doit être accessible via le current_document variable. Vous devez transmettre votre nouvelle largeur (convertie en pixels via la UnitValue méthode), et la méthode ResampleMethod de BICUBIQUE .

Il existe cinq principales méthodes de rééchantillonnage à votre disposition. Tout cela varie en termes de vitesse et de qualité, alors jouez avec eux (bien que Bicubic convienne à la plupart des usages). Voici un bref résumé des différences :

  1. Voisin le plus proche : Très rapide mais basique.
  2. Bilinéaire : Mieux que Nearest Neighbor, mais plus lent et moins bon que Bicubic.
  3. Bicubique : De très bons résultats, mais coûteux en temps de calcul.
  4. Lisseur bicubique : Une version améliorée de Bicubic pour la mise à l'échelle (rendre plus grand).
  5. Bicubic Sharper : Une version améliorée de Bicubic conçue pour le sous-échantillonnage (rendre plus petit).

N'oubliez pas de les mettre en majuscules lorsque vous les utilisez dans votre code.

Maintenant que vous comprenez le code, il est temps de l'exécuter ! Assurez-vous que Photoshop est ouvert, ainsi qu'un document.

En haut de la boîte à outils ExtendScript, modifiez la cible menu déroulant (en haut à gauche) de ExtendScript Toolkit CC vers Adobe Photoshop CC 2017 (ou quelle que soit votre version particulière de Photoshop). Si vous écrivez des scripts pour d'autres applications Adobe, vous pouvez les modifier à la place.

Comment automatiser Photoshop avec des scripts Photoshop

Appuyez maintenant sur Play bouton à droite de la liste déroulante cible, en en haut à droite de votre code.

Comment automatiser Photoshop avec des scripts Photoshop

Si tout s'est déroulé correctement, votre document est maintenant redimensionné (n'oubliez pas de l'enregistrer). La console JavaScript en haut à droite de votre boîte à outils affichera la sortie de votre script. Comme il n'y a pas de sortie, cela indiquera Résultat :Non défini .

Comment automatiser Photoshop avec des scripts Photoshop

S'il y a un problème (comme une exception lancée), votre code ne s'exécutera pas et vous obtiendrez une barre orange à peu près l'emplacement du problème.

Comment automatiser Photoshop avec des scripts Photoshop

Il peut s'agir d'une simple faute de frappe, donc après avoir arrêté le script (Contrôles en haut à droite> Bouton d'arrêt ), revérifier :

  • Votre code est correct et ne contient aucune faute de frappe.
  • Photoshop est en cours d'exécution.
  • Vous avez un document ouvert dans Photoshop.

Exécution de scripts

Maintenant que votre code s'exécute correctement, il est temps de l'ajouter à Photoshop.

Dans votre boîte à outils, accédez à Fichier> Enregistrer , et enregistrez votre script dans un emplacement approprié avec un nom approprié. Par défaut, ce seront les Scripts Adobe dossier. Remarquez comment les scripts doivent se terminer par .jsx formater.

Dans Photoshop, accédez à Fichier> Scripts> Gestionnaire d'événements de script . Cochez Activer les événements pour exécuter des scripts/actions .

Comment automatiser Photoshop avec des scripts Photoshop

Une fois activée, cette interface vous permet de configurer les scripts existants à exécuter lorsque certaines actions se produisent. Il existe plusieurs domaines clés :

  1. Événement Photoshop : C'est à ce moment que le script s'exécutera. Vous pouvez choisir parmi une variété d'options, telles que lors de l'impression, lors de l'ouverture d'un nouveau document, et bien d'autres.
  2. Scénario : C'est le script à exécuter. Il y en a quelques-uns de base intégrés, mais vous pouvez également attribuer l'un de vos propres scripts ici.
  3. Action : Si vous n'utilisez pas de script, vous pouvez choisir une action de base à effectuer à la place, telle que l'enregistrement au format PDF.

Sélectionnez Script , puis choisissez Parcourir . Sélectionnez votre scénario. Allez-y et choisissez un événement qui déclenchera votre script.

Une fois configuré, cliquez sur Ajouter puis Terminé . Ce menu est également l'endroit où vous pouvez modifier ou supprimer tous les scripts précédemment configurés.

Si vous ne voulez pas lier votre script à une action, c'est encore plus facile à configurer. Allez dans Fichier> Scripts> Parcourir . Accédez à votre script, puis appuyez sur Ouvrir. Votre script s'exécutera immédiatement.

Si vous souhaitez voir votre script dans ce menu de script, vous devez le copier dans le dossier approprié. Cela peut être trouvé dans les Préréglages> Scripts dossier de votre installation Photoshop.

Une fois copié, redémarrez Photoshop. Une fois redémarré, votre script sera visible en tant qu'élément de menu dans le Fichier> Scripts menu.

Comment automatiser Photoshop avec des scripts Photoshop

Redimensionner les images :amélioration

Maintenant que vous avez compris les scripts Photoshop, il est temps d'améliorer le code.

Ce code fonctionne très bien pour redimensionner les images à 670px (ou quelle que soit la taille à laquelle vous l'avez changé), mais cela pourrait être mieux. Heureusement, JavaScript est un langage très flexible !

Modifions le code afin que les images plus petites que la nouvelle taille ne soient pas redimensionnées. Voici le code :

current_document =app.activeDocument ; 
nouvelle_largeur =670 ;
if(current_document.width> new_width) {
document_actuel.resizeImage(
UnitValue(nouvelle_largeur, 'px'),
nul,
nul,
ResampleMethod.BICUBIC
);
}

Il n'y a qu'un seul changement ici. Un si L'instruction est enroulée autour de la méthode resize. Si la largeur du document actuel (accessible via current_document.width ) est inférieure à la nouvelle largeur, ne redimensionnez pas.

Cela garantit que les petites images ne seront pas agrandies, ce qui réduirait la qualité.

Lorsque vous commencez à saisir du code dans la boîte à outils, celle-ci fournit des suggestions de modifications valides que vous pouvez effectuer, de méthodes à appeler ou de propriétés auxquelles accéder. C'est très utile, et vous devriez en profiter pleinement !

Comment automatiser Photoshop avec des scripts Photoshop

Voici un dernier changement :

current_document =app.activeDocument ; // Récupère le document actif 
nouvelle_largeur =670 ; // nouvelle largeur à redimensionner
if(current_document.width> new_width) {
// si le document est plus grand que la nouvelle taille
document_actuel.resizeImage(
UnitValue(nouvelle_largeur, 'px'),
nul,
nul,
ResampleMethod.BICUBICSHARPER
);
}
current_document.activeLayer.autoContrast(); // Appliquer le contraste
current_doc.activeLayer.applySharpen(); // Appliquer la netteté

Ce code contient maintenant des commentaires, quelque chose que tout code devrait avoir, et qui vous aidera à l'avenir.

La méthode de rééchantillonnage a été remplacée par Bicubic Sharper -- cela produit des résultats légèrement meilleurs lors de la réduction d'échelle des images.

Enfin, le contraste et la netteté ont été appliqués en dernière étape.

Qu'allez-vous coder ?

Vous devriez maintenant savoir tout ce dont vous avez besoin pour automatiser tout dans Photoshop ! Si vous pouvez le faire dans Photoshop, vous pouvez probablement l'automatiser. L'API Photoshop donne accès à de nombreuses fonctionnalités, et leur documentation décrit presque toutes les fonctionnalités auxquelles vous pouvez accéder.

Bien sûr, les exemples d'aujourd'hui n'étaient que basiques, mais ils couvrent les détails de base :vous pouvez implémenter un script spécifique à vos besoins !

Avez-vous appris quelque chose de nouveau aujourd'hui ? Quels sont vos scripts préférés ? Faites-le nous savoir dans les commentaires ci-dessous !

Crédit image :whiteMocca via Shutterstock.com


[]