0% ont trouvé ce document utile (0 vote)
124 vues87 pages

Guide de Scripts

guide de scripts de photoshop cs5-collection Adobe

Transféré par

Désiré Ted
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
124 vues87 pages

Guide de Scripts

guide de scripts de photoshop cs5-collection Adobe

Transféré par

Désiré Ted
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ADOBE PHOTOSHOPCS5 GUIDE DES SCRIPTS

2010 Adobe Systems Incorporated. Tous droits rservs. Guide des scripts Photoshop Adobe Creative Suite5 Adobe, le logo Adobe, Illustrator et Photoshop sont des marques ou des marques dposes dAdobe Systems Inc. aux Etats-Unis et/ou dans dautres pays. Apple et MacOS sont des marques dApple Computer,Inc., dposes aux Etats-Unis et dans dautres pays. Microsoft et Windows sont des marques ou des marques dposes de Microsoft Corporation aux Etats-Unis et dans dautres pays. JavaScript et toutes les marques lies Java sont des marques ou des marques dposes de Sun Microsystems, Inc. aux Etats-Unis et dans dautres pays. Toutes les autres marques cites sont la proprit de leurs dtenteurs respectifs. Les informations contenues dans ce guide sont donnes titre purement indicatif. Elles peuvent tre modifies sans pravis et ne constituent pas un engagement de la part dAdobe SystemsInc. Adobe Systems Inc. ne peut tre tenu pour responsable des erreurs ou des inexactitudes apparaissant dans le prsent document. Le logiciel dcrit dans ce document est fourni sous licence et ne peut tre utilis ou copi que conformment la licence. Adobe Systems Inc., 345ParkAvenue, SanJose, Californie95110, Etats-Unis.

Table des matires


1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Conventions utilises dans ce guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Concepts de base pour les scripts Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


Prsentation des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Pourquoi utiliser des scripts plutt que des actions? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Prise en charge des scripts dans Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Prise en charge de JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Excution dautres scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Scripts de dmarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Excution de scripts JavaScript partir dAS ou de VBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Modle dobjet de Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hirarchie dimbrication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes Application et Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Layer Comp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe History State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Document Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes Path Item, SubPathItem et PathPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Notifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Count Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Color Sampler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classe Measurement Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hirarchie dimbrication et interface utilisateur de Photoshop . . . . . . . . . . . . . . . . . . . . . . . . Objets supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration dun exemple de script Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration et excution dun script AppleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration et excution dun script VBScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration et excution dun script JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 12 12 13 13 13 13 13 14 14 14 14 14 14 14 16 16 17 18 19 19

Scripts Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Affichage des objets, commandes et mthodes Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Affichage du dictionnaire AppleScript dePhotoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Affichage de la bibliothque de types de Photoshop (VBS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Ciblage et rfrencement de lobjet Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Cration dobjets dans un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Dfinition de lobjet actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Dfinition du document actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3

Table des matires

Dfinition du calque actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Dfinition des couches actives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Ouverture dun document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Ouverture dun fichier avec le format de fichier par dfaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Dfinition des formats de fichier ouvrir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Enregistrement dun document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Dfinition des prfrences de lapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Autorisation ou refus douverture de botes de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Utilisation du modle dobjet de Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de lobjet Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de lobjet Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manipulation dun objet document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets calque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration dun objet ArtLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration dun objet LayerSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rfrencement des objets ArtLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets LayerSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liaison dobjets calque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application de styles aux calques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de lobjet Text Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dfinition dun type de calque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout et manipulation de texte dans un objet TextItem . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cration et dfinition dune slection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application dun contour au cadre de slection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inversion des slections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dilatation, contraction et contour progressif des slections . . . . . . . . . . . . . . . . . . Remplissage dune slection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chargement et stockage des slections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changement des types de couches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de lobjet Document Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets historystate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets Notifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de lobjet PathItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets de couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes de couleur unie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des valeurs hexadcimales pour les couleursRVB . . . . . . . . . . . . . . . . . Obtention et conversion de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison des couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Obtention dune couleurWeb scurise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 34 34 35 36 37 38 38 39 40 40 41 41 42 42 43 44 44 44 45 45 46 46 47 47 48 49 51 52 52 52 53 53

Utilisation de filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Filtres divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Prsentation de linteraction avec le Presse-papiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Utilisation des commandes copy et paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Utilisation de la commande/mthode copy merged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Utilisation des units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Valeurs dunit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Types de valeurs dunit spciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Table des matires

Prcisions sur lunit en AppleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des valeurs dunit dans des calculs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de la valeur dunit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dfinition des units de rgle et de texte dans un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmation avance de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des prfrences de document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application de couleur un lment de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application dun filtre Onde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dfinition de la zone dun objet de slection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application dun filtre Flou directionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56 57 57 59 60 61 64 66 67 71

Exemples de scripts JavaScript pour lautomatisation dun flux de production . . . . . . . . . . . . . . . . . 60

Gestionnaire de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Module externe Ecouteur de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Installation de lcouteur de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Objets du gestionnaire de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Enregistrement dun script laide de lcouteur de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Utilisation du gestionnaire de scripts partir dun scriptJavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Utilisation du gestionnaire de scripts partir dun scriptVBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Excution de code du gestionnaire de scripts JavaScript partir dun script VBScript . . . . . . . . . . 79 Excution de code du gestionnaire de scripts JavaScript partir dun script AppleScript . . . . . . . 80 Utilisation de lcouteur de scripts pour rechercher des ID dvnements et de classes . . . . . . . . 81

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Introduction

A propos de ce manuel
Ce manuel propose une introduction aux scripts pour AdobePhotoshopCS5 sous MacOS et Windows. Le chapitre1 traite des conventions de base utilises dans ce manuel. Le chapitre2 prsente brivement les scripts, notamment comment les excuter, ainsi que le modle dobjet de Photoshop. Le chapitre3 expose les lments et objets spcifiques Photoshop et dcrit des techniques de script avances pour lapplicationPhotoshop. Des exemples de code sont fournis dans trois langages:

AppleScript VBScript JavaScriptTM

REMARQUE: des informations de rfrence distinctes pour les scripts Photoshop sont fournies pour chacun des trois langages dans les Guide de rfrence pour les scripts livrs avec cette installation, ou via les explorateurs dobjets disponibles pour chaque langage (voir les sections Affichage du dictionnaire AppleScript dePhotoshop , page 21 et Affichage de la bibliothque de types de Photoshop (VBS) , page 22). Pour plus de dtails sur lutilisation de lafficheur modles dobjets ExtendScript, consultez le JavaScript Tools Guide (Guide des outils JavaScript). Le chapitre4 traite du gestionnaire de scripts qui vous permet dcrire des scripts ciblant la fonctionnalit Photoshop sinon inaccessible dans linterface de scripts. REMARQUE: consultez le fichier LISEZ-MOI livr avec Photoshop pour obtenir des informations de dernire minute, des exemples de scripts et des informations sur les problmes non rsolus.

Conventions utilises dans ce guide


Les exemples de code et de langage particulier apparaissent dans une police Courier chassefixe:
[Link]

Plusieurs conventions sont utilises lorsquil est fait rfrence AppleScript, VBScript etJavaScript. Gardez lesprit les abrviations suivantes:

AS pour AppleScript VBS pour VBScript JS pour JavaScript

Le terme commandes est utilis pour faire rfrence la fois aux commandes en AppleScript et aux mthodes enVBScript etJavaScript.

CHAPITRE 1 : Introduction

Conventions utilises dans ce guide

Lorsquil est fait rfrence des proprits et des commandes spcifiques, ce manuel suit la convention de dnomination AppleScript pour cette proprit, et les noms VBScript et JavaScript apparaissent entre parenthses. Par exemple: La proprit display dialogs (DisplayDialogs/displayDialogs) fait partie de lobjet Application. Dans ce cas, display dialogs fait rfrence la proprit AppleScript, DisplayDialogs fait rfrence la proprit VBScript, et displayDialogs fait rfrence la proprit JavaScript. Pour de plus grands blocs de code, les exemples de scripts sont rpertoris sur des lignes distinctes.

AS
layer 1 of layer set 1 of current document

VBS
[Link](1).Layers(1)

JS
[Link][0].layers[0]

Enfin, des tableaux sont parfois utiliss pour organiser des listes de valeurs spcifiques chaque langage.

Concepts de base pour les scripts Photoshop


Ce chapitre offre un aperu des scripts pour Photoshop, dcrit la prise en charge des scripts pour les langages AppleScript, VBScript et JavaScript, la manire dexcuter les scripts et traite du modle dobjet dePhotoshop. Il fournit un exemple simple pour vous aider crire votre premier script Photoshop. Si vous tes dj familier des scripts ou des langages de programmation, vous pouvez vous permettre de passer une grande partie de ce chapitre. Utilisez la liste suivante pour trouver les informations dont vous avez besoin.

Reportez-vous la section Modle dobjet de Photoshop , page 11 pour plus de dtails sur le modle dobjet de Photoshop. Pour plus de dtails sur la slection dun langage de script, consultez le guide Introduction to Scripting (Introduction aux scripts). Pour consulter des exemples de scripts crs spcialement pour tre utiliss avec Photoshop, reportez-vous au chapitre3, Scripts Photoshop , page 21. Pour plus de dtails sur les objets et commandes Photoshop, utilisez les informations de rfrence contenues dans les trois manuels fournis avec cette installation: Adobe Photoshop CS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5), Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) et Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5).

REMARQUE: vous pouvez galement consulter des informations sur les objets et commandes Photoshop en utilisant les explorateurs dobjets pour chacun des trois langages de script (voir la section Affichage des objets, commandes et mthodes Photoshop , page 21).

Prsentation des scripts


Un script est une srie de commandes ordonnant Photoshop deffectuer un ensemble dactions spcifiques, comme appliquer diffrents filtres des slections dans un document ouvert. Ces actions peuvent tre simples et ne concerner quun seul objet. Elles peuvent aussi tre complexes et concerner plusieurs objets dans un document Photoshop. Les actions peuvent invoquer Photoshop uniquement ou dautres applications. Les scripts permettent dautomatiser des tches rptitives et sont souvent utiliss comme outils daide la cration pour rationaliser des tches qui seraient trop longues raliser manuellement. Par exemple, vous pouvez crire un script pour gnrer un nombre de versions localises dune image particulire ou pour collecter des informations sur les diffrents profils colorimtriques utiliss par une collection dimages. Si vous dbutez dans lcriture de scripts, il est prfrable de prendre connaissance des informations de base sur les scripts fournies dans le manuel Introduction to Scripting (Introduction aux scripts).

Pourquoi utiliser des scripts plutt que des actions?


Si vous avez utilis les actions Photoshop, vous connaissez leur utilit en matire dautomatisation des tches rptitives. Vous pouvez exploiter cet avantage grce aux scripts par lajout de fonctions qui ne sont pas disponibles pour les actionsPhotoshop. Par exemple, les fonctions suivantes sont possibles avec des scripts, pas avec des actions:

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Prise en charge des scripts dans Photoshop

Vous pouvez ajouter une logique conditionnelle, de sorte que le script prenne automatiquement ses dcisions en fonction de la situation en cours. Par exemple, vous pouvez crire un script qui dcide quelle couleur de bordure ajouter en fonction de la taille de la zone slectionne dans une image: Si la zone slectionne est infrieure 2x4pouces, ajoutez une bordure verte; sinon ajoutez une bordure rouge. Un mme script peut effectuer des actions concernant plusieurs applications. Ainsi, en fonction du langage de script que vous utilisez, vous pouvez cibler la fois Photoshop et une autre application AdobeCreative Suite5, comme AdobeIllustratorCS5, dans le mme script. Vous pouvez ouvrir, enregistrer et renommer des fichiers laide de scripts. Vous pouvez copier des scripts dun ordinateur sur un autre. En revanche, si vous utilisez des actions et que vous changez dordinateur, vous devez les recrer. Les scripts offrent une plus grande souplesse pour louverture automatique de fichiers. Lorsque vous ouvrez un fichier dans une action, vous devez entrer lemplacement du fichier dans le code. Les scripts permettent dutiliser des variables pour les chemins daccs aux fichiers.

REMARQUE: consultez lAide de Photoshop pour plus de dtails sur les actionsPhotoshop.

Prise en charge des scripts dans Photoshop


Photoshop prend en charge les scripts dans trois langages: AppleScript, VBScript et JavaScript. AppleScript et JavaScript sexcutent sous MacOS, tandis que JavaScript et VBScript sexcutent sous Windows. Pour plus de dtails sur le choix du langage de script et sur lutilisation de ces langages avec des applications Adobe, reportez-vous au manuel Introduction to Scripting (Introduction aux scripts). Reportez-vous aux sections Cration et excution dun script AppleScript , page 18, Cration et excution dun script VBScript , page 19 et Cration et excution dun script JavaScript , page 19. Vous pouvez appeler des scripts JavaScript partir de scripts AppleScript et VBScript (voir la section Excution de scripts JavaScript partir dAS ou de VBS , page 10). Pour quun fichier soit reconnu en tant que script valide par Photoshop, il doit avoir lextension qui convient. Type de script AppleScript JavaScript ExtendScript VBScript VisualBasic Type de fichier script compil fichier OSAS texte texte excutable Extension
.scpt (aucun) .js .jsx .vbs .exe

Plate-forme MacOS MacOS et Windows Windows Windows

Prise en charge de JavaScript


Pour quun fichier JavaScript soit reconnu en tant que script valide par Photoshop, il doit avoir lextension .js [Link]. Sous MacOS, les scripts avec ces deux extensions fonctionnent de manire identique. Sous Windows, si les fichiers de script sont ouverts depuis Photoshop, les extensions .js et .jsx peuvent tre utilises indiffremment. Cependant, lorsque vous lancez un script avec [Link] en cliquant deux fois dessus, il est interprt par le moteur Microsoft JScript et ne peut pas lancer Photoshop. Il est donc prfrable de choisir [Link] sous Windows, car le script est interprt avec le moteurExtendScript.

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Prise en charge des scripts dans Photoshop

10

Les scripts crits en JavaScript sont accessibles partir du menu Scripts dAdobe Photoshop (Fichier> Scripts), qui donne un accs simple et rapide vos scriptsJavaScripts. En plaant un fichier JavaScript lemplacement adquat sur le disque, il est accessible directement partir du menuPhotoshop. Pour installer un script JavaScript dans le menu Scripts, placez-le dans le dossier Scripts (PhotoshopCS5/Paramtres prdfinis/Scripts). Tous les scripts se trouvant dans ce dossier sont affichs, sans leur extension, dans le menuScripts. Le nombre de scripts dans le menu Scripts nest pas limit. Les scripts ajouts au dossier Scripts pendant le fonctionnement de Photoshop apparatront dans le menuScripts uniquement aprs le prochain lancement de lapplication. Tous les scripts se trouvant dans le dossier Scripts et ses sous-dossiers apparaissent en haut du menu Fichier>Scripts. Aucune organisation hirarchique nest effectue dans le menu Scripts lorsque vous ajoutez des sous-dossiers.

Excution dautres scripts


La commande Parcourir au bas du menu Scripts (Fichier> Scripts> Parcourir) vous permet dexcuter des scripts qui ne sont pas installs dans le dossierScripts. Vous pouvez galement utiliser la commande Parcourir pour slectionner les scripts placs dans le dossier Scripts depuis la dernire excution de lapplication. Lorsque vous choisissez la commande Parcourir, la bote de dialogue dexploration qui saffiche vous permet de slectionner un script excuter. Seuls les fichiers .js ou .jsx saffichent dans la bote de dialogue dexploration. Lorsque vous en slectionnez un, il est excut de la mme manire quun script install.

Scripts de dmarrage
Pendant son lancement, Photoshop excute tous les [Link] qui se trouvent dans les dossiers de dmarrage.

Sous Windows, le dossier de dmarrage des scripts dfinis par lutilisateur est le suivant:
C:\Program Files\Common Files\Adobe\Startup Scripts CS5\Adobe Photoshop

Sous MacOS, le dossier de dmarrage des scripts dfinis par lutilisateur est le suivant:
~/Library/Application Support/Adobe/Startup Scripts CS5/Adobe Photoshop

Si votre script se trouve dans le dossier de dmarrage principal, il est galement excut par toutes les autres applications de la suite Adobe Creative Suite5 au dmarrage. Si un script de ce type doit tre excut uniquement par Photoshop, il doit comporter les lignes de code suivantes:
if( [Link] == "photoshop" ) { //continue executing script }

Pour plus de dtails, consultez le JavaScript Tools Guide (Guide des outils JavaScript).

Excution de scripts JavaScript partir dAS ou de VBS


Comme les scripts JavaScript sont indpendants de la plate-forme, vous pouvez les excuter partir dAppleScript ou deVBScript. Vous pouvez excuter soit une seule instruction JavaScript, soit un fichier JavaScript complet. Pour plus de dtails, consultez le guide Introduction to Scripting (Introduction aux scripts).

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Modle dobjet de Photoshop

11

Modle dobjet de Photoshop


Un modle dobjet de document (DOM) est une interface de programmation qui vous permet daccder par programmation diverses composantes dun document (tel que dfini pour cette application) au moyen dun langage de script. Pour plus de dtails sur les modles dobjets dAdobe et sur les langages de script qui les prennent en charge, reportez-vous au guide Introduction to Scripting (Introduction aux scripts). Le DOM Photoshop se compose dune reprsentation hirarchique de lapplication Photoshop, des documents utiliss dans celle-ci et des lments de ces documents. Il vous permet daccder aux documents et leurs composantes et de les manipuler par programmation. Par exemple, partir du DOM, vous pouvez crer un document, ajouter un calque un document existant ou modifier la couleur darrire-plan dun calque. La plupart des fonctions disponibles via linterface utilisateur dePhotoshop sont disponibles via leDOM. Une bonne comprhension du DOM Photoshop et de la manire dont chaque aspect du DOM est associ lapplication Photoshop et ses documents facilitera lcriture des scripts.

Hirarchie dimbrication
Le modle dobjet de Photoshop est une hirarchie dimbrication, ce qui signifie que les objets contenus dans le modle sont identifis partiellement par les objets qui les contiennent. Dans Photoshop, lobjet Application se trouve en haut de la hirarchie. Les applications contiennent une collectionDocuments. La collection Documents contient des objetsDocument. Un objet Document contient une collectionArtLayers, une collectionHistoryStates, une collectionLayers, une collectionLayersets et une collectionChannels. Les commandes ou mthodes du DOM vous permettent dordonner des documents Photoshop dajouter et de supprimer des objets, ou de dfinir ou changer des proprits individuelles dobjet comme la couleur, la taille et la forme. Dans le diagramme ci-dessous, chaque nud de la hirarchie reprsente une classe dans le DOMPhotoshop. Le modle dobjet de Photoshop utilise des lments (AppleScript) ou des collections (VBScript, JavaScript) pour regrouper facilement les classes. Lillustration du modle dobjet ci-dessous ne reprsente pas dlments ou de collections dobjets. Les classes ne sont pas toutes associes une collection. Cependant, certaines classes cl sont regroupes par lments ou collection. Les lments/collections suivants existent dans Photoshop: Art Layers, Channels, Color Samplers, Count Items, Documents, Layers, Layer Comps, Layer Sets, History States, Notifiers, Path Items, Path Points Sub Path Items et Text Fonts. Reportez-vous au guide Introduction to Scripting (Introduction aux scripts) pour plus de dtails sur les lments et les collections. REMARQUE: dans Photoshop, les collections VBScript sont indexes partir de1 et non de0 ( la diffrence dautres groupes VBScript, qui commencent lindexation partir de0).

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Modle dobjet de Photoshop

12

Hirarchie dimbrication Photoshop (illustrant uniquement les classes cl)

Application

Notifier

Document

Preferences

Selection

Channel

Layer Comp

Count Item

Color Sampler

Measurement Scale

Document Info

History State

Path Item

Art Layer

Layer Set

Sub Path Item Path Point

Text Item (Objet)

Layer Set

Art Layer

Classes Application et Document


La classe Application est la racine de la hirarchie du modle dobjet dePhotoshop. Les scripts doivent cibler lapplication approprie pour tre excuts correctement (voir la section Ciblage et rfrencement de lobjet Application , page 22). La classe Document permet dapporter des modifications limage dun document. Grce lobjet Document, vous pouvez recadrer, faire pivoter ou appliquer une symtrie la zone de travail, redimensionner limage ou la zone de travail et rogner limage. Vous pouvez galement utiliser lobjet Document pour obtenir le calque actif, puis enregistrer le document actif puis copier et coller du contenu dans le document actif ou entre plusieurs documents. Pour plus de dtails sur lutilisation des objets Document, reportez-vous aux sections Cration dobjets dans un script , page 23 et Utilisation de lobjet Document , page 34.

Classes Layer
Photoshop possde deux types de calques: un calque ArtLayer qui comporte un contenu dimage et un groupe LayerSet qui ne comporte aucun ou plusieurs calques graphiques. Un groupe Art Layer est une classe layer lintrieur dun document qui vous permet de travailler sur un lment dune image sans perturber les autres. Les images se composent gnralement de plusieurs calques, dfinis par un groupe LayerSet. Vous pouvez modifier la composition dune image en modifiant lordre et les attributs des calques qui la composent. Un lment Text Item est un type particulier de calque graphique qui vous permet dajouter du texte une image. Dans Photoshop, un lment TextItem est mis en uvre comme une proprit du calque graphique. Pour plus de dtails sur les lments de texte, reportez-vous la section Utilisation de lobjet Text Item , page 41.

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Modle dobjet de Photoshop

13

Un groupe Layer Set est une classe qui comporte plusieurs calques. Elle sapparente un dossier plac sur votre bureau. A limage dun dossier qui peut contenir dautres dossiers, un groupe de calques est rcursif. Ainsi, un groupe de calques peut appeler un autre groupe de calques dans la hirarchie du modle dobjet. Pour plus de dtails sur les calques, reportez-vous la section Utilisation des objets calque , page 36.

Classe Layer Comp


La classe LayerComp vous permet de crer, grer et afficher plusieurs versions dune mise en page dans un seul document.

Classe Channel
La classe Channel est utilise pour stocker les informations de pixel sur la couleur dune image. La couleur de limage dtermine le nombre de couches disponibles. Par exemple, une image RVB possde quatre couches par dfaut: une couche pour chaque couleur primaire et une couche utilise pour ldition de limage entire. Vous pouvez activer la couche rouge pour manipuler les seuls pixels rouges de limage ou bien choisir de manipuler toutes les couches la fois. Ces types de couches sont associs au mode du document et appels des couches de composante. Outre les couches de composante, Photoshop vous permet de crer des couches supplmentaires: vous pouvez crer une couche de ton direct, une couche de zone masque et une couche de zone slectionne. A laide des commandes ou des mthodes dun objet Channel, vous pouvez crer, supprimer et dupliquer des couches. Vous pouvez galement rcuprer lhistogramme dune couche, modifier son type ou modifier les couches actuellement slectionnes. Pour plus de dtails sur les couches, reportez-vous la section Utilisation des objets Channel , page 46.

Classe Selection
La classe Selection est utilise pour spcifier une zone de pixels dans le document actif (ou dans un calque slectionn du document actif ) que vous souhaitez manipuler. Pour plus de dtails sur les slections, reportez-vous la section Utilisation des objets Selection , page 42.

Classe History State


La classe History State est un objet panneau qui conserve une trace des modifications apportes un document. Chaque fois que vous apportez une modification une image, le nouvel tat de cette image est ajout au panneau. Ces tats sont accessibles partir de lobjet Document et peuvent tre utiliss pour rtablir une ancienne version du document. Un tat dhistorique peut galement tre utilis pour remplir une slection. Pour plus de dtails sur les objets History, reportez-vous la section Utilisation des objets historystate , page 47. REMARQUE: dans AppleScript, si vous crez un document et essayez dafficher immdiatement ltat dhistorique, Photoshop renvoie une erreur. Avant de pouvoir accder aux tats dhistorique, vous devez donc activer Photoshop en faisant passer lapplication au premier plan.

Classe Document Info


La classe Document Info stocke des mtadonnes propos dun document. Les mtadonnes sont des donnes qui permettent de dcrire le contenu ou les caractristiques dun fichier. Pour plus de dtails sur la classe DocumentInfo, reportez-vous la section Utilisation de lobjet Document Info , page 47.

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Modle dobjet de Photoshop

14

Classes Path Item, SubPathItem et PathPoint


La classe Path Item reprsente des informations sur un objet de dessin, comme le contour dune forme ou une ligne courbe. La classe SubPathItem est contenue dans la classe PathItem et donne la vritable gomtrie de la forme. La classe PathPoint contient des informations sur chaque point dun sous-trac (voir la section Utilisation de lobjet PathItem , page 49).

Classe Preferences
La classe Preferences vous permet daccder aux paramtres des prfrences utilisateur et de les dfinir (voir la section Utilisation des prfrences de document , page 61).

Classe Notifier
Lobjet Notifier lie un vnement un script. Si, par exemple, vous souhaitez que Photoshop cre automatiquement un document lorsque vous ouvrez lapplication, vous pouvez lier un script qui cre un objet Document un vnement OpenApplication. Pour plus de dtails sur les notifications, reportez-vous la section Utilisation des objets Notifier , page 48.

Classe Count Item


Lobjet Count Item fournit la prise en charge des scripts pour loutilComptage.

Classe Color Sampler


Lobjet Color Sampler fournit la prise en charge des scripts pour loutil Echantillonnage decouleur.

Classe Measurement Scale


Lobjet Measurement Scale fournit la prise en charge des scripts pour la nouvelle fonction Echelle de mesure qui vous permet de dfinir une chelle pour votre document.

Hirarchie dimbrication et interface utilisateur de Photoshop


Le tableau ci-dessous dcrit la relation de chaque objet avec linterface utilisateur dePhotoshop. Nom de lobjet Description Application Document Application Photoshop. Pour crer cet objet sans utiliser de script Lancez lapplication Photoshop.

Dans Photoshop, choisissez Fichier> Objet utilis, dans lequel vous crez des Nouveau ou Fichier> Ouvrir. calques, des couches, des actions et autres. Dans un script, vous nommez, ouvrez ou enregistrez un document en procdant de la mme faon que pour un fichier dans lapplication. Zone slectionne dans un calque ou un document. Choisissez loutil Rectangle de slection ou Lasso et faites glisser la souris.

Selection

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Modle dobjet de Photoshop

15

Nom de lobjet Description PathItem Channel ArtLayer Objet de dessin, tel que le contour dune forme, une ligne droite ou une courbe. Informations de pixel sur la couleur dune image. Classe de calques dun document vous permettant de travailler sur un lment dune image sans toucher aux autres. Collection dobjets Art Layer. Group est le nom actuel utilis dans linterface Photoshop. Layer Set tait le nom utilis dans une version antrieure de Photoshop. Le nom Object demeure identique des fins de rtrocompatibilit. Instantan de ltat des calques dun document. Mtadonnes sur un objet Document. REMARQUE: les mtadonnes sont des donnes qui permettent de dcrire le contenu ou les caractristiques dun fichier, comme le nom de fichier, la date et lheure de cration, le nom de lauteur, le nom de limage enregistre dans le fichier,etc.

Pour crer cet objet sans utiliser de script Choisissez loutil Slection de trac ou Plume et dessinez un trac laide de la souris. Choisissez Fentre> Couches. Choisissez Calque> Nouveau> Calque ou Fentre> Calques. Choisissez la commande Calque> Nouveau> Groupe.

LayerSet

LayerComp

Choisissez Fentre> Compositions de calques. Slectionnez ensuite licne de composition de calques. Choisissez Fichier> Informations.

Document Info

Notifier

Choisissez la commande Fichier> Notifie un script quun vnement se produit, cet vnement dclenchant ensuite Scripts> Gestionnaire dvnements lexcution du script. Par exemple, lorsquun de script. utilisateur clique sur le boutonOK, lobjet notifier indique au script ce quil doit faire. Paramtres de prfrences de lapplication. Choisissez Edition> Prfrences sous Windows, ou Photoshop> Prfrences sous MacOS.

Preferences

HistoryState

Stocke une version du document dans ltat Choisissez Fentre> Historique, puis o il se trouvait chaque fois que vous lavez slectionnez un tat dhistorique dans le enregistr. panneauHistorique. REMARQUE: vous pouvez utiliser un objet
History State pour remplir un objet Selection ou pour rtablir un tat antrieur

du document. ColorSampler CountItem Measurement Scale Reprsente un chantillonnage de couleur dans votre document. Reprsente un lment compt dans le document. Reprsente lchelle de mesure de votre document. Choisissez loutil Echantillonnage de couleur, puis cliquez dans le document. Choisissez loutil Comptage, puis cliquez dans le document. Lobjet Measurement Scale ne peut tre cr, mais vous pouvez modifier ses proprits en utilisant la commande Analyse> Echelle de mesure> Personnalise.

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Modle dobjet de Photoshop

16

Objets supplmentaires
Le modle dobjet de Photoshop inclut dautres objets que ceux dcrits dans la hirarchie dimbrication ci-dessus. La plupart des classes sont utilises en tant que types pour les proprits ou afin dapporter des informations (en tant quarguments) aux commandes et aux mthodes. Par exemple:

La classe color value (SolidColor/SolidColor) fournit le type pour les proprits background color (backgroundColor/backgroundColor) et foreground color (ForegroundColor/foregroundColor) de lobjet Application (voir la section Utilisation des objets de couleur , page 51). Les options douverture et denregistrement des documents sont dfinies comme des classes transmises aux commandes qui ouvrent et enregistrent les documents; par exemple, la classe BMP save options (BMPSaveOptions/BMPSaveOptions) peut tre transmise comme argument la commande ou mthode save (saveAs/saveAs) (voir les sections Ouverture dun document , page 28 et Enregistrement dun document , page 31).

Constantes
Les constantes constituent un lment supplmentaire important du modle dobjet de Photoshop pour les langages JavaScript etVBScript. Les constantes sont un type de valeur dfinissant une proprit. Par exemple, la proprit kind dun objet Art Layer vous permet de dfinir uniquement des types spcifiques que Photoshop autorise. Pour des informations dordre gnral sur les constantes, reportez-vous au guide Introduction to Scripting (Introduction aux scripts). REMARQUE: dans ce document, les valeurs relles des numrations pour VBScript sont donnes au format suivant:
[Link] = 2 '2 indicates psLayerKind --> 2 (psTextLayer)

Le signe avant lexplication cre un commentaire et empche le texte situ droite de ce signe dtre lu par le moteur de script. Pour plus de dtails sur lutilisation des commentaires, reportez-vous au guide Introduction to Scripting (Introduction aux scripts). Par exemple, recherchez lobjet ArtLayer soit dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5), soit dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5). Une des proprits de cet objet est Kind( kind). Le type de valeur de cette proprit comprend un lien vers la constante qui dfinit les valeurs autorises pour la proprit. Pour VBScript et JavaScript, les constantes sont respectivement PSLayerKind et LayerKind. Cliquez dessus afin dafficher les valeurs utilisables pour dfinir la proprit kind. REMARQUE: des objets diffrents peuvent utiliser le mme nom de proprit avec des valeurs constantes diffrentes. Les valeurs constantes pour la proprit kind de lobjet Channel sont diffrentes des valeurs constantes pour la proprit kind de lobjet ArtLayer.

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Cration dun exemple de script Hello World

17

Cration dun exemple de script Hello World


Cette section prsente un script trs simple dans chacun des trois langages de script pourPhotoshop. Le premier projet classique abord lors de lapprentissage dun nouvel environnement de programmation consiste afficher le message Hello World. Les scripts Hello World vont effectuer les tches suivantes: 1. Ouvrir lapplication Photoshop. 2. Crer un nouvel objet Document. A la cration du document, nous allons galement crer une variable nomme docRef, puis affecter une rfrence au document comme valeur de docRef. Le document va mesurer 4pouces de largeur et de 2pouces de hauteur 3. Crer un objet Art Layer. Dans notre script, nous crons une variable nomme artLayerRef puis attribuons une rfrence lobjet ArtLayer comme valeur de artLayerRef. 4. Dfinir artLayerRef en tant quobjet texte. 5. Dfinir le contenu de lobjet texte, qui sera Hello World. REMARQUE: nous allons galement inclure des commentaires tout au long des scripts, et comme il sagit de notre premier script, nous allons mme en abuser. Ces tapes refltent un chemin spcifique dans la structure hirarchique, comme illustr ci-dessous.

Application

Document

ArtLayer

TextItem

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Cration dun exemple de script Hello World

18

Cration et excution dun script AppleScript


Vous devez ouvrir lapplication Apple Script Editor afin daccomplir cette procdure. REMARQUE: lemplacement par dfaut de ce dernier est Applications> AppleScript> Editeur de scripts. Pour crer et excuter votre premier script AppleScript Photoshop: 1. Entrez le script ci-dessous dans lditeur de scripts: REMARQUE: les lignes commenant par -- sont des commentaires. Les commentaires sont facultatifs.
-- Sample script to create a new text item and -- change its contents. --target Photoshop CS5 tell application "Adobe Photoshop CS5" -- Create a new document and art layer. set docRef to make new document with properties {width:4 as inches, height:2 as inches} set artLayerRef to make new art layer in docRef -- Change the art layer to be a text layer. set kind of artLayerRef to text layer -- Get a reference to the text object and set its contents. set contents of text object of artLayerRef to "Hello, World" end tell

2. Cliquez sur le bouton Excuter pour excuter le script. Photoshop cre un document, ajoute un nouveau calque, change le calque en calque de texte et dfinit le texte sur Hello, World. REMARQUE: si vous rencontrez des erreurs, reportez-vous au guide Introduction to Scripting (Introduction aux scripts) dont une section porte sur le dbogage dAppleScript.

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Cration dun exemple de script Hello World

19

Cration et excution dun script VBScript


Suivez ces tapes pour crer un script VBScript qui affiche le texte Hello World! dans un document Photoshop. Pour crer et excuter votre premier script VBScript Photoshop: 1. Entrez le script ci-dessous dans un diteur de scripts ou de texte. REMARQUE: les commentaires sont facultatifs.
Dim appRef Set appRef = CreateObject( "[Link]" ) ' Remember current unit settings and then set units to ' the value expected by this script Dim originalRulerUnits originalRulerUnits = [Link] [Link] = 2 ' Create a new 2x4 inch document and assign it to a variable. Dim docRef Dim artLayerRef Dim textItemRef Set docRef = [Link](2, 4) ' Create a new art layer containing text Set artLayerRef = [Link] [Link] = 2 ' Set the contents of the text layer. Set textItemRef = [Link] [Link] = "Hello, World!" ' Restore unit setting [Link] = originalRulerUnits

2. Enregistrez le fichier en tant que fichier texte, avec [Link]. 3. Cliquez deux fois sur ce fichier dans lExplorateur de Windows pour excuter le script. Le script ouvre Photoshop.

Cration et excution dun script JavaScript


Suivez ces tapes pour crer un script JavaScript qui affiche le texte Hello World! dans un document Photoshop. Puisque vous utiliserez Photoshop pour excuter vos scripts JavaScript, il nest pas ncessaire dinclure un code qui ouvre Photoshop au dbut du script. REMARQUE: Adobe a cr le langage de script ExtendScript pour augmenter le nombre de scripts JavaScript utilisables avecPhotoshop. Vous pouvez utiliser la commande Extend Script #target pour cibler lapplication Photoshop et crer la possibilit douvrir des scripts JavaScript qui manipulent Photoshop partir dune zone quelconque de votre systme de fichiers. Consultez le chapitre Script UI du JavaScript Tools Guide (Guide des outils JavaScript) pour plus de dtails.

CHAPITRE 2 : Concepts de base pour les scripts Photoshop

Cration dun exemple de script Hello World

20

Pour crer et excuter votre premier script JavaScript Photoshop: 1. Entrez le script ci-dessous. REMARQUE: les commentaires sont facultatifs.
// Hello Word Script // Remember current unit settings and then set units to // the value expected by this script var originalUnit = [Link] [Link] = [Link] // Create a new 2x4 inch document and assign it to a variable var docRef = [Link]( 2, 4 ) // Create a new art layer containing text var artLayerRef = [Link]() [Link] = [Link] // Set the contents of the text layer. var textItemRef = [Link] [Link] = "Hello, World" // Release references docRef = null artLayerRef = null textItemRef = null // Restore original ruler unit setting [Link] = originalUnit

2. Enregistrez un fichier sous forme de fichier texte avec une extension de nom de [Link] dans le dossier Paramtres prdfinis/Scripts de votre rpertoire AdobePhotoshopCS5. REMARQUE: vous devez placer vos scripts JavaScript dans le dossier Paramtres prdfinis/Scripts afin de les rendre accessibles partir du menu Fichier> Scripts dansPhotoshop. Les scripts apparatront dans le menu Fichier> Scripts la session suivante. REMARQUE: Photoshop prend galement en charge les fichiers JavaScript qui portent une [Link]. 3. Utilisez lune des mthodes suivantes:

Si Photoshop est dj ouvert, choisissez Fichier> Scripts> Parcourir, naviguez ensuite vers le dossier Paramtres prdfinis> Scripts, puis slectionnez votre script. Dmarrez ou redmarrez Photoshop, choisissez ensuite Fichier> Scripts, puis slectionnez votre script partir du menuScripts.

Scripts Photoshop
Ce chapitre prsente plusieurs techniques pour utiliser le modle dobjet de document de Photoshop (DOM) pour crer des scripts utiliser spcifiquement avecPhotoshop. Vous apprendrez aussi vous servir des manuels de rfrence et des explorateurs de modles dobjets pour trouver des informations sur les objets, les classes, les proprits, les commandes et mme sur certaines valeurs (appeles constantes ou numrations) que vous pouvez utiliser pour crer des scripts AppleScripts, VBScript et JavaScripts pourPhotoshop. CONSEIL: tout au long de ce chapitre, les explications sur la cration de scripts sont suivies dinstructions permettant de localiser les informations relatives aux lments spcifiques utiliss dans chaque script. Lutilisation de ces instructions vous aidera comprendre rapidement comment crer des scriptsPhotoshop.

Affichage des objets, commandes et mthodes Photoshop


Les contenus de rfrence Photoshop pour chacun des trois langages de script figurent dans les manuels de rfrence fournis dans cette installation:

Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5)

Vous pouvez galement accder ces rfrences en utilisant un explorateur de modles dobjets associ chaque langage:

Pour AppleScript, utilisez lditeur de scripts dAppleScript pour afficher le dictionnaire AppleScript dePhotoshop. Pour VBScript, utilisez lditeurVBA de Microsoft Word, lexplorateur dobjets Visual Basic de Visual Basic ou VisualStudio. Pour JavaScript, utilisez lafficheur de modles dobjets ExtendScript. Consultez le JavaScript Tools Guide (Guide des outils JavaScript) pour plus de dtails.

Affichage du dictionnaire AppleScript dePhotoshop


Vous pouvez utiliser lditeur de scripts dApple pour afficher le dictionnaire. REMARQUE: par dfaut, lditeur de scripts est stock dans le dossier Applications> AppleScript> Editeur de scripts. Pour afficher le dictionnaire AppleScript: 1. Dans lditeur de scripts, choisissez la commande Fichier> Ouvrir un dictionnaire. Lditeur de scripts affiche la bote de dialogue correspondante. 2. Slectionnez AdobePhotoshopCS5, puis cliquez sur Ouvrir. Lditeur de scripts ouvre Photoshop puis affiche le dictionnaire Photoshop qui rpertorie les objets ainsi que les commandes, les proprits et les lments associs chaque objet. Les paramtres de chaque commande sont galement rpertoris.

21

CHAPITRE 3 : Scripts Photoshop

Ciblage et rfrencement de lobjet Application 22

REMARQUE: le dictionnaire AppleScript de Photoshop naffiche pas la liste complte de formats douverture et denregistrement.

Affichage de la bibliothque de types de Photoshop (VBS)


Vous pouvez utiliser lditeur VBA de Microsoft Word pour afficher les objets et commandes disponibles pourVBScript dansPhotoshop. Pour afficher la bibliothque dobjets VBS dans MicrosoftWord: 1. Dmarrez Word, puis choisissez la commande Outils> Macro> Visual Basic Editor. 2. Choisissez Outils> Rfrences, cochez ensuite la case AdobePhotoshop TypeLibrary, puis cliquez surOK. 3. Choisissez la commande Affichage> Explorateur dobjets. 4. Slectionnez PhotoshopCS5 typelibrary dans la liste des bibliothques ouvertes affiches dans le menu droulant en haut gauche. 5. Choisissez une classe dobjet pour afficher des informations supplmentaires sur la classe. Vous pouvez galement utiliser lexplorateur dobjets dans lenvironnement de dveloppement VisualBasic pour afficher les objets et commandes disponibles pourVBScript dansPhotoshop. Pour afficher la bibliothque dobjets VBS dans lenvironnement de dveloppement de VisualBasic: 1. Dmarrez Visual Studio2005 ou VisualBasic. 2. Choisissez Affichage> Explorateur dobjets. 3. Dans la liste droulante Parcourir, slectionnez loption de modification du jeu de composants personnaliss. 4. Sous longlet COM, recherchez Adobe PhotoshopCS5 Object Library, et slectionnez-la. 5. Cliquez sur le bouton Ajouter. La bibliothque slectionne saffiche dans la section des projets et composants slectionns de la fentre. 6. Cliquez sur le boutonOK. 7. A prsent, la bibliothque Photoshop est charge dans lexplorateur dobjets. Cliquez sur le signe plus en regard de licne de la bibliothquePhotoshop. 8. Cliquez sur le signe plus en regard de licne dobjetsPhotoshop. 9. Les objets dfinis dans la bibliothque Photoshop sont rpertoris. Vous pouvez les slectionner individuellement pour afficher plus de dtails sur la classe.

Ciblage et rfrencement de lobjet Application


Puisque vous excutez vos scripts AppleScript et VBScript en dehors de lapplication Photoshop, votre script doit indiquer en premier lieu que les commandes sont excutes dansPhotoshop. REMARQUE: en JavaScript, il nest pas utile de cibler lobjet Application puisque vous ouvrez les scripts partir de lapplication Photoshop elle-mme (voir la section Cration et excution dun script JavaScript , page 19).

CHAPITRE 3 : Scripts Photoshop

Cration dobjets dans un script 23

AS

Pour cibler Photoshop en AppleScript, vous devez encadrer votre script avec les instructions suivantes:
tell application "Adobe Photoshop CS5" ... end tell

REMARQUE: toutes les commandes tant incluses dans le bloc tell, vous navez pas besoin de rfrencer lobjet Application dans lensemble du script. VBS En VBScript, procdez comme suit pour cibler lapplication:
Dim appRef Set appRef = CreateObject("[Link]")

JS

En JavaScript, lobjet Application nayant pas besoin dtre rfrenc, toutes les proprits et mthodes de lapplication sont accessibles sans qualification. Vous pouvez rfrencer lapplication en tant qulment de la structure hirarchique ou lignorer, en fonction de la clart que procure lune ou lautre des solutions vos scripts. Pour rfrencer lobjet Application, utilisez lobjet global prdfini app, la place du nom de classe. Les instructions suivantes sont quivalentes:
var docRef = [Link][1]

et
var docRef=documents[1]

REMARQUE: les exemples JavaScript de ce guide ne rfrencent pas lobjetApplication.

Cration dobjets dans un script


Pour crer un document dans lapplication Photoshop, choisissez Fichier> Nouveau. Pour crer dautres types dobjets dans un document, tels quun calque, une couche ou un trac, utilisez le menu Fentre ou choisissez licne Nouveau dans le panneau appropri. Cette section explique comment raliser ces tches dans un script. Pour crer un objet dans un script, vous devez nommer le type dobjet que vous souhaitez crer, puis utiliser la commande suivante:

AS: VBS: JS:

make Add add()

Comme vous pouvez le constater la section Modle dobjet de Photoshop , page 11, lobjet Document contient tous les autres objets lexception des objets Application, Notifier et Preferences. Vous devez par consquent rfrencer lobjet Document lorsque vous ajoutez des objets autres que Document et Notifier au script (il est impossible dajouter un nouvel objet Preferences). REMARQUE: en VBScript et JavaScript, vous utilisez le nom de collection de lobjet pour nommer le type dobjet. Par exemple, vous ajoutez un document la collection Documents; vous ajoutez un calque graphique la collection artlayers. Reportez-vous au guide Introduction to Scripting (Introduction aux scripts) pour plus de dtails sur les lments et collections.

CHAPITRE 3 : Scripts Photoshop

Cration dobjets dans un script 24

AS

Linstruction suivante cre un objet Document dans un script AppleScript.


make new document

Vous pouvez galement utiliser la commande set pour crer une variable contenant une rfrence un nouveau document. Dans lexemple suivant, la variable nomme docRef contient une rfrence au nouveau document:
set docRef to make new document

Pour crer un objet autre quun document, vous devez rfrencer lobjet Document contenant lobjet. Linstruction suivante cre un calque graphique dans le document contenu dans la variable nomme docRef.
make new art layer in docRef

REMARQUE: lorsque vous crez un objet en AppleScript, vous ajoutez lobjet un lment, de la mme faon que vous ajoutez un objet VBScript ou JavaScript une collection. En AppleScript, cependant, le nom de llment est implicite dans linstruction make ou set. Ainsi, linstruction:
make new document

signifie rellement:
make new document in the documents element

Pour en savoir plus sur la cration dobjets dans un script AppleScript:

Recherchez les commandes make et set dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript dePhotoshop (voir la section Affichage du dictionnaire AppleScript dePhotoshop , page 21). Pour savoir quelles commandes peuvent tre utilises avec un objet, recherchez lobjet dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5). Si un objet possde des commandes autorises, une liste reprenant les commandes autorises saffiche la fin de la description de lobjet.

VBS

En VBScript, vous pouvez utiliser la mthode Add uniquement avec le nom de collection. La mthode Add nest autorise quavec les objets de collection. Par ailleurs, en VBScript, vous devez rfrencer lobjet Application lorsque vous crez ou faites rfrence un objet dans le script. Par exemple, pour crer un document dans un script VBScript, vous ne pouvez pas utiliser le nom de lobjet, comme dans lexemple suivant, qui cre un objet Document:
[Link]()

Vous devez utiliser le nom de la collection, soit la forme plurielle du nom de lobjet, comme suit:
[Link]()

REMARQUE: dans cet exemple, lobjet Application est rfrenc via une variable nomme appRef (voir la section Ciblage et rfrencement de lobjet Application , page 22 pour plus de dtails). Pour ajouter un objet ArtLayer, vous devez rfrencer les objets Application et Document qui contiendront le calque graphique. Lexemple suivant rfrence lobjet Application laide de la variable appRef et lobjet Document laide de lindex du document plutt que du nom du document.
[Link](1).[Link]()

REMARQUE: dans Photoshop, les collections VBScript sont indexes partir de1 et non de0, ce qui signifie que le premier document cr prend lindice1 et non lindice0.

CHAPITRE 3 : Scripts Photoshop

Dfinition de lobjet actif 25

Si vous recherchez lobjet Document dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic, vous verrez quil ny a pas de mthode Add() pour lobjet. La mthode Add() est cependant disponible pour lobjet Documents. De mme, lobjet ArtLayer na pas de mthode Add(); lobjet ArtLayers, si. REMARQUE: lobjet Layers est une exception, car il sagit dun objet de collection, mais sans mthode Add(). La collection Layers inclut la fois les objets ArtLayer et LayerSet, crs laide de la mthode Add sur la collection ArtLayers ou LayerSets. Pour plus de dtails, recherchez lobjet Layers dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5). JS En JavaScript, vous pouvez utiliser la mthode add() uniquement avec le nom de collection. La mthode add() nest autorise quavec les objets de collection. Linstruction JavaScript pour la cration dun document est semblable linstruction VBScript:
[Link]()

et non:
[Link]()

REMARQUE: vous pouvez si vous le souhaitez inclure une rfrence lobjet Application. Linstruction suivante est quivalente lexemple prcdent:
[Link]()

Pour ajouter un objet ArtLayer, vous devez rfrencer lobjet Document qui contient le calque et utiliser la mthode add() pour la collection ArtLayers, avec la proprit artLayers de lobjetDocument.
documents[0].[Link]()

Comme avec VBScript, la mthode add() est associe lobjet JavaScript Documents mais pas lobjet Document. De mme, lobjet ArtLayer na pas de mthode add(); lobjet ArtLayers, si. REMARQUE: la collection Layers ninclut pas de mthode add(). Pour plus de dtails, recherchez lobjet Layers dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5).

Dfinition de lobjet actif


Pour travailler sur un objet dans lapplication Photoshop, vous devez en faire lobjet de premierplan, ou lobjetactif. Par exemple, pour travailler sur un calque, vous devez commencer par lamener au premier plan. La mme rgle sapplique aux scripts. Si votre script cre deux documents ou plus, les commandes et mthodes du script sont excutes sur le document actif. Il convient donc, pour sassurer que les commandes portent sur le bon document, de dsigner lors de la programmation le document actif avant dexcuter des commandes ou mthodes dans le script. Pour dfinir un objet actif, procdez comme suit:

En AppleScript, utilisez la proprit current de lobjet parent. En VBScript, utilisez la proprit ActiveObject de lobjet parent (comme ActiveDocument ouActiveLayer). En JavaScript, utilisez la proprit activeObject de lobjet parent (comme activeDocument ouactiveLayer).

CHAPITRE 3 : Scripts Photoshop

Dfinition de lobjet actif 26

REMARQUE: lobjet parent est celui qui contient lobjet spcifi. Par exemple, lapplication est le parent du document; un document est le parent dun calque, dune slection ou dune couche. Par exemple, si vous recherchez lobjet Application dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5), ou dans lafficheur de modles dobjets ExtendScript, vous trouverez que lune de ses proprits est activeDocument; si vous recherchez lobjet Document, vous trouverez activeLayer et activeHistoryState comme proprits. De la mme manire, si vous recherchez application dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5), ou dans le dictionnaire AppleScript dePhotoshop, vous le trouverez comme proprit de current, etc. Pour des exemples de scripts dfinissant des objets actifs, reportez-vous aux sections suivantes.

Dfinition du document actif , page 26 Dfinition du calque actif , page 27 Dfinition des couches actives , page 28

Dfinition du document actif


Les exemples suivants expliquent comment dfinir le document actif. AS
--create 2 documents set docRef to make new document with properties {width:4 as inches, height:4 as inches} set otherDocRef to make new document with properties {width:4 as inches, height:6 as inches} --make docRef the active document set current document to docRef --here you would include command statements --that perform actions on the active document. Then, you could --make a different document the active document --use the current document property of the application class to --bring otherDocRef front-most as the new active document set current document to otherDocRef

VBS

'Create 2 documents Set docRef = [Link] ( 4, 4) Set otherDocRef = [Link] (4,6) 'make docRef the active document Set [Link] = docRef 'here you would include command statements 'that perform actions on the active document. Then, you could 'make a different document the active document 'use the ActiveDocument property of the Application object to 'bring otherDocRef front-most as the new active document Set [Link] = otherDocRef

CHAPITRE 3 : Scripts Photoshop

Dfinition de lobjet actif 27

JS

// Create 2 documents var docRef = [Link]( 4, 4) var otherDocRef = [Link] (4,6) //make docRef the active document [Link] = docRef //here you would include command statements //that perform actions on the active document. Then, you could //make a different document the active document //use the activeDocument property of the Application object to //bring otherDocRef front-most as the new active document [Link] = otherDocRef

Dfinition du calque actif


Les exemples suivants expliquent comment utiliser la proprit current layer (ActiveLayer/activeLayer) de lobjet Document pour dfinir le calque actif. Pour dfinir le calque actif dun document, le document doit tre actif. AS
set current layer of current document to layer Layer 1 of current document

REMARQUE: par dfaut, Photoshop attribue les noms Calque1, Calque2,etc., aux calques. VBS
This example assumes appRef and docRef have been previously defined and assigned to the application object and a document object that contains at least one layer. [Link] = docRef [Link] = [Link](1)

Recherchez la proprit ActiveLayer sur lobjet Document dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets VisualBasic. REMARQUE: vous pouvez galement indiquer le calque utiliser par son nom. Par dfaut, Photoshop attribue les noms Calque1, Calque2,etc., aux calques (voir la section Rfrencement des objets ArtLayer , page 38). JS
// This example assumes docRef has been previously defined and assigned to a // document object that contains at least one layer. activeDocument = docRef [Link] = [Link][0]

Recherchez la proprit activeLayer sur lobjet Document dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript. REMARQUE: vous pouvez galement indiquer le calque utiliser par son nom. Par dfaut, Photoshop attribue les noms Calque1, Calque2,etc., aux calques (voir la section Rfrencement des objets ArtLayer , page 38).

CHAPITRE 3 : Scripts Photoshop

Ouverture dun document 28

Dfinition des couches actives


Plusieurs couches peuvent tre actives simultanment, si bien que la proprit channels (ActiveChannels/activeChannels) actuelle de lobjet Document prend comme valeur un tableau de couches. Pour dfinir les couches actives dun document, le document doit tre actif. AS Dfinissez comme couches actives les premire et troisime couches laide dun tableau de couches:
set current channels of current document to { channel 1 of current document, channel 3 of current document }

Vous pouvez sinon slectionner toutes les couches de composante en utilisant la proprit component channels de lobjet Document.
set current channels of current document to component channels of current document

VBS

Dfinissez comme couches actives du document actif les premire et troisime couches laide dun tableau de couches:
This example assumes docRef is already the ActiveDocument Dim theChannels theChannels = Array([Link](1), [Link](3)) [Link] = theChannels

Vous pouvez galement slectionner toutes les couches de composante laide de la proprit ComponentChannels de lobjet Document.
[Link]= _ [Link]

JS

Dfinissez comme couches actives les premire et troisime couches laide dun tableau de couches:
theChannels = new Array([Link][0], [Link][2]) [Link] = theChannels

Vous pouvez galement slectionner toutes les couches de composante laide de la proprit componentChannels de lobjet Document.
[Link] = [Link]

Ouverture dun document


Pour ouvrir un document existant, vous devez utiliser la commande open/Open/open() de lobjet Application. Vous devez spcifier le nom du document (le chemin daccs au fichier qui contient le document) laide de la commande.

Ouverture dun fichier avec le format de fichier par dfaut


Du fait que Photoshop prend en charge plusieurs formats de fichiers diffrents, la commande open/Open/open() vous permet de spcifier le format du document que vous ouvrez. Si vous ne spcifiez pas le format, Photoshop choisit votre place le type de fichier, qui est appel le format de fichier par dfaut. Les exemples suivants ouvrent un document en choisissant le format par dfaut le mieux adapt:

CHAPITRE 3 : Scripts Photoshop

Ouverture dun document 29

AS VBS JS

set theFile to alias "Applications:Documents:MyFile" open theFile fileName = "C:\MyFile" Set docRef = [Link](fileName) var fileRef = File([Link] + "/Samples/[Link]") var docRef = [Link](fileRef)

En JavaScript, vous devez crer un objet File, puis transmettre la commande open() une rfrence lobjet.

Dfinition des formats de fichier ouvrir


Classes douverture Open Options

Photo CD Open Options

Raw Format Open Options

Camera Raw Open Options

EPS Open Options

PDF Open Options

Vous pouvez dfinir des options pour les types de documents de la liste suivante, afin de spcifier le mode douverture du document (hauteur et largeur de la fentre douverture du document, page afficher louverture dun document multipage,etc.).

PhotoCD CameraRaw RawFormat AdobePDF EPS

Pour prendre connaissance des options disponibles pour chaque format de fichier, recherchez les proprits des objets OpenOptions commenant par le nom du format de fichier requis. Par exemple:

Dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5), recherchez la classe Photo CD open options ou la classe EPS open objects. Dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5), recherchez les objets PhotoCDOpenOptions ou EPSOpenOptions.

Les exemples suivants montrent comment ouvrir un documentPDF gnrique (multiplage/multi-image) avec les spcifications suivantes:

Le document souvrira en modeRVB avec une rsolution de 72ppp. Un lissage sera appliqu afin de minimiser laspect crnel du contour des images du document.

CHAPITRE 3 : Scripts Photoshop

Ouverture dun document 30

Le document souvrira la page3. La forme initiale du document sera modifie conformment aux proprits de hauteur et de largeur si sa largeur natteint pas le double de sa hauteur.

AS

tell application "Adobe Photoshop CS5" set myFilePath to alias "OS X 10.5.8 US:Users:psauto:Desktop:opal_screen.pdf" with timeout of 300 seconds open myFilePath as PDF with options {class:PDF open options, mode:RGB, resolution:72, use antialias:true, page:3} end timeout end tell Dim appRef Set appRef = CreateObject("[Link]") 'Remember unit settings and set to values expected by this script Dim originalRulerUnits originalRulerUnits = [Link] [Link] = 1 'value of 1 = psPixels 'Create a PDF option object Dim pdfOpenOptionsRef Set pdfOpenOptionsRef = CreateObject("[Link]") [Link] = True [Link] = 2 ' psOpenRGB [Link] = 72 [Link] = 3 ' open the file Dim docRef Set docRef = [Link](C:\\PDFFiles\[Link], pdfOpenOptionsRef) 'Restore unit setting [Link] = originalRulerUnits

VBS

JS

REMARQUE: lobjet File dExtendScript attend une notation URI (universal resource identifier). Reportez-vous au JavaScript Tools Guide (Guide des outils JavaScript) pour plus de dtails.
// Set the ruler units to pixels var originalRulerUnits = [Link] [Link] = [Link] // Get a reference to the file that we want to open var fileRef = new File(/c/pdffiles/[Link]) // Create a PDF option object var pdfOpenOptions = new PDFOpenOptions [Link] = true [Link] = [Link] [Link] = 72 [Link] = 3 // open the file [Link]( fileRef, pdfOpenOptions ) // restore unit settings [Link] = originalRulerUnits

CHAPITRE 3 : Scripts Photoshop

Enregistrement dun document 31

Enregistrement dun document


Les options denregistrement des documents dans Photoshop sont illustres ci-dessous. Pour connatre les proprits que vous pouvez spcifier pour une option denregistrement relative un format de fichier particulier, recherchez lobjet qui commence par le nom du format de fichier requis. Par exemple, pour connatre les proprits denregistrement dun fichier .eps, procdez comme suit:

Dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5), recherchez la classe EPS save options. Dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5), recherchez EPSSaveOptions. Classes denregistrement

Save Options

Photoshop

BMP

GIF

EPS

JPEG

PDF

Pict File

Pict Resource

Pixar

PNG

TIFF

Raw

DSC1

DSC2

SGI RGB

Targa

REMARQUE: il est important de noter que les formats douverture (Open) et denregistrement (Save) ne sont pas identiques (voir la section Dfinition des formats de fichier ouvrir , page 29 titre de comparaison). REMARQUE: les formats facultatifs suivants sont disponibles uniquement lorsquils sont installs explicitement:

AliasPIX ElectricImage SGIRGB WavefrontRLA SoftImage

Les scripts suivants enregistrent les documents au [Link]. AS


tell application "Adobe Photoshop CS5" make new document set myFile to "OS X 10.5.8 US:Users:psauto:Desktop:[Link]" set myOptions to {class:JPEG save options, embed color profile:false, format options:standard, matte:background color matte} save current document in file myFile as JPEG with options myOptions appending no extension without copying end tell

CHAPITRE 3 : Scripts Photoshop

Dfinition des prfrences de lapplication 32

VBS

Dim appRef,docRef Set appRef = CreateObject("[Link]") Set docRef = [Link]() Set jpgSaveOptions = CreateObject("[Link]") [Link] = True [Link] = 1 'for psStandardBaseline [Link] = 1 'for psNoMatte [Link] = 1 [Link] "c:\temp\myFile2", _ jpgSaveOptions, True, 2 'for psLowercase

JS

[Link]( 4, 4 ) jpgFile = new File( "/[Link]" ) jpgSaveOptions = new JPEGSaveOptions() [Link] = true [Link] = [Link] [Link] = [Link] [Link] = 1 [Link](jpgFile, jpgSaveOptions, true, [Link])

Dfinition des prfrences de lapplication


Votre script peut dfinir des prfrences lies lapplication (slecteur de couleurs, options denregistrement de fichier, paramtres des repres-grilles-tranches,etc.). REMARQUE: les proprits de la classe settings/lobjet Preferences correspondent aux options de la bote de dialogue Prfrences de PhotoshopCS5 que vous pouvez afficher en choisissant Photoshop> Prfrences avec la version MacOS de Photoshop ou Edition> Prfrences avec la versionWindows. Pour obtenir une description de chaque prfrence, consultez lAide dePhotoshop. AS Les proprits de la classe settings permettent de dfinir les prfrences de lapplication dans AppleScript. Le script suivant dfinit lunit utilise pour les rgles et le texte:
set ruler units of settings to inch units set type units of settings to pixel units

Dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop, recherchez la classe settings-object pour afficher toutes les proprits de paramtres que vous pouvez utiliser. VBS Lobjet Preferences est une proprit de lobjet Application. Lorsque vous utilisez lobjet Preferences dans un script VBScript, vous devez indiquer son appartenance lobjet Application.
[Link] = 2 'for PsUnits --> 2 (psInches) [Link] = 1 'for PsTypeUnits --> 1 (psPixels)

Dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic, recherchez lobjet Preferences pour afficher toutes les proprits de paramtres que vous pouvez utiliser. Recherchez galement la proprit Preferences sur lobjetApplication.

CHAPITRE 3 : Scripts Photoshop

Autorisation ou refus douverture de botes de dialogue 33

JS

Lobjet Preferences est une proprit de lobjet Application.


[Link] = [Link] [Link] = [Link]

Dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript, recherchez lobjet Preferences pour afficher toutes les proprits de paramtres que vous pouvez utiliser. Recherchez galement la proprit preferences sur lobjetApplication.

Autorisation ou refus douverture de botes de dialogue


Il est important de pouvoir contrler les botes de dialogue correctement depuis un script. Lorsquune bote de dialogue saffiche, le script est interrompu jusqu ce quun utilisateur ferme la fentre. Cette solution est gnralement adapte un script interactif pour lequel un utilisateur est assis devant lordinateur. Sil sagit dun script excut automatiquement (par lots), il convient dviter lapparition de botes de dialogue afin de ne pas interrompre lexcution du script. Vous utilisez la proprit display dialogs (DisplayDialogs/displayDialogs) de lobjet Application pour contrler laffichage ou non des botes de dialogue. REMARQUE: lutilisation de botes de dialogue dans votre script quivaut peu prs lutilisation de points darrt dans un scriptPhotoshop. AS Le script suivant empche laffichage de botes de dialogue:
set display dialogs to never

Dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop, recherchez la classe application pour trouver les valeurs que vous pouvez utiliser pour la proprit display dialogs. VBS Pour dfinir les prfrences relatives aux botes de dialogue, utilisez la proprit DisplayDialogs de lobjet Application.
[Link] = 3 'for PsDialogModes --> 3 (psDisplayNoDialogs) DisplayDialogs tant une proprit de lobjet Application, vous devez rfrencer lobjet Application dans le script pour obtenir la proprit.

Dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic, recherchez la proprit DisplayDialogs de lobjet Application. Vous verrez que le type de valeur de cette proprit est la constante PsDialogModes. Vous pouvez galement rechercher les options pour PsDialogModes. JS Pour dfinir les prfrences relatives aux botes de dialogue, utilisez la proprit displayDialogs de lobjet Application.
displayDialogs = [Link]

Dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript, recherchez la proprit displayDialogs de lobjet Application, puis recherchez la constante DialogModes.

Utilisation du modle dobjet de Photoshop


Cette section comporte des informations sur lutilisation des objets du modle dobjet dePhotoshop. Pour plus de dtails sur les modles dobjet, reportez-vous au guide Introduction to Scripting (Introduction aux scripts) et la section Modle dobjet de Photoshop , page 11.

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 34

Utilisation de lobjet Application


Cette section explique comment et quand utiliser lobjet Application dans unscript. Elle explique galement comment utiliser certaines proprits de lobjet Application. Vous utilisez les proprits et commandes de lobjet Application pour travailler avec la fonctionnalit Photoshop et les objets tels que les suivants:

Paramtres ou prfrences globaux de Photoshop, tels que les valeurs dunit ou les paramtres de couleur (voir la section Dfinition des prfrences de lapplication , page 32). Documents: vous pouvez ajouter ou ouvrir des documents et dfinir le document actif(voir les sections Ouverture dun document , page 28 et Dfinition de lobjet actif , page 25). Actions: vous pouvez excuter des actions cres soit par lcriture de scripts, soit en utilisant le panneauScripts de lapplication Photoshop (voir la section Gestionnaire de scripts , page 73).

Vous pouvez utiliser les proprits de lobjet Application pour obtenir des informations, notamment:

Liste des polices installes sur le systme.

AS: dfinissez theFonts sur fonts REMARQUE: en AppleScript, fonts est une collection spare, qui ne requiert pas de rfrence lobjet application pour tre rcupre.

VBS: dfinissez fontsInstalled = [Link] JS: var fontsInstalled = [Link]

Espace de mmoire inutilis, disponible pour Adobe Photoshop, laide de la proprit free memory (FreeMemory/freeMemory) de lobjet Application. Emplacement du dossier Prfrences, laide de la proprit preferences folder (PreferencesFolder/preferencesFolder) de lobjet Application.

Pour plus de dtails, recherchez les proprits de lobjet Application dans le guide de rfrence ou dans lexplorateur dobjets correspondant au langage utilis.

Utilisation de lobjet Document


Lobjet Document peut reprsenter tout document ouvert dans Photoshop. Un objet Document sapparente un fichier, ou encore une zone de travail. Lobjet Document permet de raliser les oprations suivantes:

Accs aux objets contenus dans lobjet Document, par exemple ArtLayer ou Channel (voir la section Modle dobjet de Photoshop , page 11). Manipulation dun objet Document spcifique laide de commandes ou de mthodes. Par exemple, vous pouvez recadrer, faire pivoter ou appliquer une symtrie la zone de travail, redimensionner limage ou la zone de travail et rogner limage (voir la section Manipulation dun objet document , page 35 pour obtenir une dmonstration). Rcupration du calque actif (voir la section Dfinition du calque actif , page 27). Enregistrement du document actif (voir la section Enregistrement dun document , page 31). Oprations de copier-coller dans le document actif ou entre plusieurs documents (voir la section Prsentation de linteraction avec le Presse-papiers , page 54).

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 35

Manipulation dun objet document


Les exemples suivants illustrent les oprations suivantes:

Enregistrement des prfrences dunit de la rgle existantes et dfinition de lunit de la rgle en pouces Ouverture dun fichier existant en tant que document ( laide du fichier [Link] ) Modification de la taille de limage 4pouces de large sur 4pouces de haut (10cmx10cm) Modification de la taille de la fentre de document (ou zone de travail) 4pouces de large sur 4pouces de haut (10cmx10cm) Rognage du haut et du bas de limage Recadrage de limage Application dune symtrie lensemble de la fentre Restauration des units de rgle dorigine

REMARQUE: reportez-vous la section Dfinition des prfrences de lapplication , page 32 pour plus de dtails sur les units de mesure des rgles. AS
tell application "Adobe Photoshop CS5" set saveUnit to ruler units of settings set ruler units of settings to inch units set duckFile to alias "OS X 10.5.8 US:Applications:Adobe Photoshop CS5:Samples:[Link]" open duckFile set docRef to current document resize image docRef width 4 height 4 resize canvas docRef width 4 height 4 trim docRef basing trim on top left pixel with top trim and bottom trim without left trim and right trim set ruler units of settings to pixel units crop current document bounds {100, 200, 400, 500} angle 45 width 20 height 20 flip canvas docRef direction horizontal set ruler units of settings to saveUnit end tell Dim appRef, docRef Set appRef = CreateObject("[Link]") 'save original ruler units, then set ruler units to inches startRulerUnits = [Link] [Link] = 2 'for PsUnits --> 2 (psInches) Set docRef = [Link]([Link] & "\Samples\[Link]") [Link] 4,4 [Link] 4,4 'Trim the document with ' type = 1 (psTopLeftPixel) ' top=true, left=false, bottom=true, right=false [Link] 1,True,False,True,False 'the crop command uses unit values 'so change the ruler units to pixels [Link] = 1 ' (psPixels)

VBS

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 36

'Crop the document with ' angle=45, width=20,height=20 [Link] Array(100,200,400,500),45,20,20 [Link] 1 ' psHorizontal 'restore ruler units [Link] = startRulerUnits

JS

//save original ruler units, then assign it to inches startRulerUnits = [Link] [Link] = [Link] //get a reference to the file, and open it var fileRef = new File([Link] + "/samples/[Link]") var docRef = [Link](fileRef) //this sample script assumes the ruler units have been set to inches [Link]( 4,4 ) [Link]( 4,4 ) [Link]([Link], true, false, true, false) //the crop command uses unit values //so change the ruler units to pixels [Link] =[Link] [Link] (new Array(100,200,400,500), 45, 20, 20) [Link]([Link]) //restore original preferences [Link] = startRulerUnits

Utilisation des objets calque


Le modle dobjet de Photoshop comporte deux types dobjets calque:

Les objets ArtLayer, qui peuvent comporter des contenus dimage et qui sont pour ainsi dire quivalents aux calques dans lapplication Photoshop. REMARQUE: un objet ArtLayer peut galement contenir du texte si vous utilisez la proprit kind pour dfinir le type de lobjet ArtLayer sur calque de texte.

Les objets Layer Set, qui peuvent contenir zro ou plusieurs objets ArtLayer.

Lorsque vous crez un calque, vous devez spcifier si vous crez un calque graphique (ArtLayer) ou un groupe de calques (Layer Set). REMARQUE: les objets ArtLayer et LayerSet ont tous deux des collections correspondantes, savoir ArtLayers et LayerSets, elles-mmes dotes dune commande add/Add/add(). Vous pouvez rfrencer (mais pas ajouter) des objets ArtLayer et LayerSet laide de la collection Layers, car contrairement aux autres collections, celle-ci nest pas dote de commande add/Add/add().

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 37

Cration dun objet ArtLayer


Les exemples ci-dessous expliquent comment crer un objet ArtLayer rempli avec du rouge au dbut du document actif. AS
tell application "Adobe Photoshop CS5" make new document make new art layer at beginning of current document with properties {name:"MyBlendLayer", blend mode:normal} select all current document fill selection of current document with contents {class:RGB color, red:255, green:0, blue:0} end tell Dim appRef Set appRef = CreateObject("[Link]") ' Create a new art layer at the beginning of the current document Dim docRef Dim layerObj Set docRef = [Link]() Set layerObj = [Link] [Link] = "MyBlendLayer" [Link] = 2 'psNormalBlend ' Select all so we can apply a fill to the selection [Link] ' Create a color to be used with the fill command Dim colorObj Set colorObj = CreateObject("[Link]") [Link] = 255 [Link] = 0 [Link] = 0 ' Now apply fill to the current selection [Link] colorObj

VBS

JS

//make a new document [Link]() // Create a new art layer at the beginning of the current document var layerRef = [Link]() [Link] = "MyBlendLayer" [Link] = [Link] // Select all so we can apply a fill to the selection [Link] // Create a color to be used with the fill command var colorRef = new solidColor [Link] = 255 [Link] = 100 [Link] = 0 // Now apply fill to the current selection [Link](colorRef)

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 38

Cration dun objet LayerSet


Les exemples suivants montrent comment crer un objet Layer Set aprs la cration dun premier objet ArtLayer dans le document actif: AS
tell application "Adobe Photoshop CS5" make new document with properties {name:"My Document"} make new art layer at beginning of current document make new layer set after layer 1 of current document end tell Dim appRef Set appRef = CreateObject("[Link]") 'Make a new document and a first layer in the document [Link]() [Link]() ' Get a reference to the first layer in the document Dim layerRef Set layerRef = [Link](1) ' Create a new LayerSet (it will be created at the beginning of the document) Dim newLayerSetRef Set newLayerSetRef = [Link] ' Move the new layer to after the first layer [Link] layerRef, 4 'psPlaceAfter

VBS

JS

// make a new document and a layer in the document [Link]() [Link]() // Get a reference to the first layer in the document var layerRef = [Link][0] // Create a new LayerSet (it will be created at the beginning of the // document) var newLayerSetRef = [Link]() // Move the new layer to after the first layer [Link](layerRef, [Link])

Rfrencement des objets ArtLayer


Lorsque vous crez un calque dans lapplication Photoshop (plutt quun script), le calque est ajout au panneauCalques, et un numro lui est attribu. Ce numro fait office de nom et ne correspond pas au numro dindex des objets ArtLayer crs dans un script. Votre script VBScript ou JavaScript choisira toujours le calque situ en haut de la liste du panneau Calques comme premier calque de lindex. Par exemple, si votre document compte quatre calques, lapplication Photoshop les intitule Calque darrire-plan, Calque1, Calque2 et Calque3. Le Calque3 est gnralement en haut de la liste dans le panneau Calques, car il a t ajout en dernier.

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 39

Vous pouvez utiliser la syntaxe suivante pour faire rfrence aux calques par le nom qui leur a t attribu par lapplication: AS
layer 1 of layer set 1 of current document

REMARQUE: la diffrence des rfrences dobjets en JavaScript ou VBScript, les noms de rfrences dobjets AppleScript ne sont pas constants. Fait rfrence un guide de langage AppleScript ou un manuel contenant des informations sur le rfrencement dun fichier laide de as alias ou de toareferencetofile. VBS JS
Layers("Layer 3").name layers["Layer 3"].name //using the collection name and square brackets for the collection

Utilisation des objets LayerSet


Les calques existants peuvent tre organiss en groupes de calques. Les exemples suivants montrent comment crer un objet LayerSet, dupliquer un objet ArtLayer existant et dplacer ce dernier dans le groupe de calques. AS
set current document to document "My Document" set layerSetRef to make new layer set at end of current document set newLayer to duplicate layer "Layer 1" of current document to end of current document move newLayer to end of layerSetRef

En AppleScript, vous pouvez galement dupliquer un calque directement dans son groupe de destination.
set current document to document "My Document" set layerSetRef to make new layer set at end of current document duplicate layer "Layer 1" of current document to end of layerSetRef

VBS

En VBScript, vous pouvez galement dupliquer le calque en appliquant la mme mthode.


Dim appRef, docRef Set appRef = CreateObject("[Link]") 'Make a new document and a first layer in the document Set docRef = [Link]() [Link]() Set layerSetRef = [Link]() Set layerRef = [Link](1).Duplicate(layerSetRef, 2)

JS

En JavaScript, vous pouvez placer le calque lors de la duplication.


// create a document and an initial layer var docRef = [Link]() [Link]() var layerSetRef = [Link]() var layerRef = [Link][0].duplicate(layerSetRef, [Link])

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 40

Liaison dobjets calque


Les scripts permettent galement de lier des calques entre eux et de rompre ces liens. La liaison de calques permet de dplacer ou transformer les calques en une seule instruction. AS
make new art layer in current document with properties {name:"L1"} make new art layer in current document with properties {name:"L2"} link art layer "L1" of current document with art layer "L2" of current document

Recherchez la commande link dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript dePhotoshop. VBS
Set layer1Ref = [Link]() Set layer2Ref = [Link]() [Link] layer2Ref

Recherchez Link comme mthode de lobjet ArtLayer dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets VisualBasic. Recherchez galement Add comme mthode de lobjet ArtLayers. JS
var layerRef1 = [Link]() var layerRef2 = [Link]() [Link](layerRef2)

Recherchez link() comme mthode de lobjet ArtLayer dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript. Recherchez galement Add() comme mthode de lobjet ArtLayers.

Application de styles aux calques


REMARQUE: cette procdure correspond faire glisser un style du panneau Styles de Photoshop vers un calque. Votre script peut appliquer des styles un objet ArtLayer. Pour appliquer un style dans un script, utilisez la commande apply layer style/ApplyStyle/applyStyle() (le nom du style doit tre entr comme argument entre guillemets doubles droits). REMARQUE: les noms des styles de calque tiennent compte de la distinction entre majuscules et minuscules. Consultez lAide de Photoshop pour obtenir une liste de styles et pour plus de dtails sur les styles et le panneauStyles. Les exemples suivants dfinissent le style de calque Puzzle pour le calque nommL1. AS
apply layer style art layer "L1" of current document using "Puzzle (Image)"

Recherchez la commande apply layer style dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript dePhotoshop. VBS
[Link]("L1").ApplyStyle "Puzzle (Image)"

Recherchez ApplyStyle comme mthode de lobjet ArtLayer dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets VisualBasic. JS
[Link]["L1"].applyStyle("Puzzle (Image)")

Recherchez applyStyle() comme mthode de lobjet ArtLayer dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript.

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 41

Utilisation de lobjet Text Item


Vous pouvez changer un objet ArtLayer existant en un calque de texte, cest--dire un objet TextItem, si le calque est vide. A linverse, vous pouvez changer un objet TextItem en un objet ArtLayer. Cette procdure inverse pixellise le texte du calque. Lobjet TextItem est une proprit de lobjet ArtLayer. Cependant, pour crer un calque de texte, vous devez crer un objet ArtLayer puis dfinir la proprit kind/Kind/kind du calque graphique sur textlayer (2(psTextLayer)/ [Link] ). Pour dfinir ou manipuler du texte dans un calque de texte, vous utilisez lobjet text-object (TextItem/TextItem), contenu dans la proprit text object/TextItem/textItem de lobjet ArtLayer.

Cration dun objet Text Item


Les exemples suivants crent un objet ArtLayer , puis utilisent la proprit kind pour le convertir en calque de texte. AS VBS
make new art layer in current document with properties { kind: text layer } set newLayerRef = [Link]() [Link] = 2 '2 indicates psTextLayer var newLayerRef = [Link]() [Link] = [Link]

JS

Reportez-vous la section Modle dobjet de Photoshop , page 11 pour plus de dtails sur la relation entre les objets ArtLayer et TextItem. Recherchez galement les lments suivants:

Les proprits Kind/kind et TextItem/textItem de lobjet ArtLayer dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5), dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic et lafficheur de modles dobjets ExtendScript. Les proprits kind et text object de la classe art layer dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop.

Dfinition dun type de calque


Les exemples suivants utilisent une instruction if pour vrifier si un calque existant est un calque de texte. AS
if (kind of layerRef is text layer) then ... endif If [Link] = 2 Then '2 indicates psTextLayer ... End If if ([Link] == [Link]) {...}

VBS

JS

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 42

Ajout et manipulation de texte dans un objet TextItem


Les exemples suivants ajoutent du texte et le justifient droite dans un calque de texte. AS
set layerRef to make new art layer in current document with properties {kind:text layer} set contents of text object of layerRef to "Hello, World!" set justification of text object of layerRef to right Set textLayerRef = [Link]() [Link] = 2 [Link] = "my text" Set textItemRef = [Link]("my text").TextItem [Link] = "Hello, World!" [Link] = 3 '3 = psRight (for the constant value psJustification)

VBS

JS

var textLayerRef = [Link]() [Link] = "my text" [Link] = [Link] var textItemRef = [Link]["my text"].textItem [Link] = "Hello, World!" [Link] = [Link]

REMARQUE: lobjet text-object (TextItem/TextItem) possde une proprit kind Kind/kind) qui peut tre dfinie soit sur point text (psPointText/[Link] ), soit sur paragraph text (psParagraphText/[Link].). Lorsquun nouvel objet text-object est cr, sa proprit kind est automatiquement dfinie sur pointtext. Les proprits height, width et leading de lobjet text-object sont autorises uniquement si la proprit kind du texte est dfinie sur paragraphtext. Pour vous familiariser avec les objets, proprits et commandes prsents dans les guides de rfrence pour les scripts, utilisez lune des mthodes suivantes:

Dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop, recherchez les proprits et les mthodes text-object. Dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic, recherchez la proprit TextItem de lobjet DisplayDialogs. Pour connatre les proprits et mthodes disponibles avec un calque de texte, recherchez lobjet TextItem.

Dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript, recherchez la proprit textItem de lobjet ArtLayer. Pour connatre les proprits et mthodes disponibles avec un calque de texte, recherchez lobjet TextItem.

Utilisation des objets Selection


Vous utilisez un objet Selection pour restreindre laction de vos scripts une seule section spcifique et slectionne de votre document ou un calque dans un document. Par exemple, vous pouvez appliquer des effets une slection ou copier la slection active dans le Presse-papiers.

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 43

Lobjet Selection est une proprit de lobjet Document. Recherchez les lments suivants pour plus de dtails:

Dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop, recherchez la commandeselect. Recherchez galement la proprit selection de lobjet Document et lobjet selection-object. Dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic, recherchez Selection comme proprit de lobjet Document. Recherchez galement Select comme mthode de lobjet Selection. Dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript, recherchez selection comme proprit de lobjet Document. Recherchez galement select comme mthode de lobjet Selection.

REMARQUE: vous ne pouvez pas crer un objet Selection. La proprit selection (Selection/selection) sur lobjet Document contient un objet selection prexistant pour le document. Utilisez la commande select (Select/select) pour spcifier la zone de slection.

Cration et dfinition dune slection


Pour crer une slection, utilisez la commande select/Select/select() de lobjet Selection. Pour dfinir une slection, vous devez spcifier les coordonnes lcran qui correspondent aux angles de la slection. Le document tant un objet en deux dimensions, les coordonnes sont spcifies laide des axes x et y, comme suit:

Laxe x sert spcifier la position horizontale dans la zone de travail. Laxe y sert spcifier la position verticale dans la zone de travail.

Lorigine dans Photoshop, cest--dire la position o laxex =0 et laxey =0, est le coin suprieur gauche de lcran. Le coin oppos, soit le coin infrieur droit, correspond au point extrme de la zone de travail. Par exemple, si la zone de travail mesure 1000x1000 pixels, les coordonnes du coin infrieur droit sont axex = 1000 et axey = 1000. Vous spcifiez les points de coordonnes qui dcrivent la forme slectionner dans un tableau, qui devient son tour la valeur dargument ou de paramtre de la commande select/Select/select(). Les exemples suivants supposent que lunit de mesure des rgles est le pixel et que vous crez une slection ainsi: 1. Cration dune variable pour contenir un nouveau document de 500x500pixels. 2. Cration dune variable pour contenir les coordonnes de la zone slectionne (c.--d. lobjet Selection). 3. Ajout dun tableau comme valeur de la variable de la slection. 4. Utilisation de la proprit selection de lobjet Document et de la commande select de lobjet Selection pour slectionner une zone. Les coordonnes de la zone correspondent aux valeurs de la variable de la slection. AS
set docRef to make new document with properties {height:500, width:500} set shapeRef to {{0, 0}, {0, 100}, {100, 100}, {100, 0}} select current document region shapeRef DocRef = [Link] ShapeRef = Array(Array(0, 0), Array(0, 100), Array(100,100), Array(100,0)) [Link] ShapeRef

VBS

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 44

JS

var docRef = [Link](500, 500) var shapeRef = [ [0,0], [0,100], [100,100], [100,0] ] [Link](shapeRef)

Application dun contour au cadre de slection


Les exemples ci-dessous utilisent la commande stroke (Stroke/stroke()) de lobjet Selection pour tracer les bordures autour de la slection active et dfinissent la couleur ainsi que la largeur du contour. REMARQUE: le paramtre de transparence ne peut pas tre utilis pour les calques darrire-plan. AS
stroke selection of current document using color {class:CMYK color, cyan:20, magenta:50, yellow:30, black:0} width 5 location inside blend mode vivid light opacity 75 without preserving transparency Set strokeColor = CreateObject ("[Link]") [Link] = 20 [Link] = 50 [Link] = 30 [Link] = 0 [Link] strokeColor, 5, 1, 15, 75, False strokeColor = new solidColor [Link] = 20 [Link] = 50 [Link] = 30 [Link] = 0 [Link] (strokeColor, 2, [Link], [Link], 75, false)

VBS

JS

Inversion des slections


Vous pouvez appliquer la commande invert (Invert/invert()) de lobjet Selection une slection, afin de pouvoir travailler sur le reste du document, calque ou couche tout en protgeant la slection.

AS: VBS: JS:

invert selection of current document [Link] [Link]()

Dilatation, contraction et contour progressif des slections


Vous pouvez modifier la taille dune zone slectionne laide des commandes Dilater, Contracter et Contour progressif. Les valeurs sont transmises dans lunit de mesure des rgles stocke dans les prfrences Photoshop et peuvent tre modifies par vos scripts. Si lunit de mesure des rgles est le pixel, la valeur de la dilatation,

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 45

de la contraction et du contour progressif des exemples suivants sera de cinq pixels. Reportez-vous la section Dfinition des prfrences de lapplication , page 32 pour savoir comment modifier lunit de mesure des rgles. AS
expand selection of current document by pixels 5 contract selection of current document by pixels 5 feather selection of current document by pixels 5 Dim selRef Set selRef = [Link] [Link] 5 [Link] 5 [Link] 5

VBS

JS

var selRef = [Link] [Link]( 5 ) [Link]( 5 ) [Link]( 5 )

Remplissage dune slection


Vous pouvez remplir une slection avec une couleur ou avec un tat dhistorique. Pour remplir avec une couleur: AS
fill selection of current document with contents {class:RGB color, red:255, green:0, blue:0} blend mode vivid light opacity 25 without preserving transparency Set fillColor = CreateObject("[Link]") [Link] = 255 [Link] = 0 [Link] = 0 [Link] fillColor, 15, 25, False var fillColor = new SolidColor() [Link] = 255 [Link] = 0 [Link] = 0 [Link]( fillColor, [Link], 25, false)

VBS

JS

Pour remplir la slection courante avec le dixime lment de ltat dhistorique: REMARQUE: reportez-vous la section Utilisation des objets historystate , page 47 pour plus de dtails sur les objets HistoryState. AS VBS JS
fill selection of current document with contents history state 10 of current document [Link] [Link](10) [Link]([Link][9])

Chargement et stockage des slections


Vous pouvez stocker des objets Selection dans les objets Channel, ou les charger depuis ces objets. Pour stocker une slection dans une couche, sa proprit kind (Kind/kind) doit tre dfinie sur un type qui indique que la couche contient une zone slectionne: selected area channel

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 46

(psSelectedAreaAlphaChannel)/ [Link]). Les exemples ci-dessous utilisent la commande store (Store/store()) de lobjet Selection pour stocker la slection active dans une couche nomme MyChannel et dilater la slection avec une slection quelconque qui se trouve actuellement dans cette couche. AS
set myChannel to make new channel of current document with properties {name:"My Channel", kind::selected area channel} store selection of current document into channel "My Channel" of current document combination type extended Set chanRef = [Link] [Link] = "My Channel" [Link] = 3 'psSelectedAreaAlphaChannel [Link] [Link]("My Channel"), 2 'PsSelectionType is 2 (psExtendSelection)

VBS

JS

var chanRef = [Link]() [Link] = "My Channel" [Link] = [Link] [Link]([Link]["My Channel"], [Link])

Pour restaurer une slection enregistre dans un objet Channel, utilisez la mthode load
(Load/load).

AS

set myChannel to make new channel of current document with properties {name:"My Channel"} load selection of current document from channel "My Channel" of current document combination type extended [Link] [Link]("My Channel"), 2 'PsSelectionType is 2 (psExtendSelection) [Link] ([Link]["My Channel"], [Link])

VBS JS

Reportez-vous la section Prsentation de linteraction avec le Presse-papiers , page 54 pour savoir comment copier, couper et coller des slections.

Utilisation des objets Channel


Lobjet Channel vous permet daccder la plupart des fonctions disponibles dans les couchesPhotoshop. Vous pouvez crer, supprimer et dupliquer des couches ou rcuprer lhistogramme dune couche et modifier son type. Reportez-vous la section Cration dobjets dans un script , page 23 pour plus de dtails sur la cration dun objet Channel dans les scripts. Utilisez la proprit kind pour dfinir ou connatre le type dun objet Channel. Reportez-vous la section Chargement et stockage des slections , page 45 pour obtenir des exemples de script illustrant la cration dune couche de zone masque.

Changement des types de couches


Vous pouvez modifier le type de toutes les couches, lexception des couches de composante. Les exemples suivants montrent comment modifier une couche de zone masque en couche de zone slectionne: REMARQUE: les couches de composante sont lies au mode de document. Consultez lAide de Photoshop pour plus de dtails sur les couches, les types de couches et les modes de document.

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 47

AS VBS JS

set kind of myChannel to selected area channel [Link] = 3 'for psSelectedAreaAlphaChannel 'from the constant value PsChannelType [Link] = [Link]

Utilisation de lobjet Document Info


Dans Photoshop, vous pouvez associer des informations un document en choisissant Fichier> Informations. Pour effectuer cette tche dans un script, vous devez utiliser lobjet info-object (DocumentInfo/DocumentInfo), stock dans la proprit info (Info/info) de lobjet Document. Les exemples suivants montrent comment utiliser lobjet DocumentInfo pour dfinir ltat du copyright et lURL propritaire dun document. AS
set get set set get docInfoRef to info of current document EXIF of docInfoRef copyrighted of docInfoRef to copyrighted work owner url of docInfoRef to "[Link] EXIF of docInfoRef

VBS

Set docInfoRef = [Link] [Link] = 1 'for psCopyrightedWork [Link] = "[Link] docInfoRef = [Link] [Link] = [Link] [Link] = "[Link]

JS

Recherchez les lments suivants pour plus de dtails sur les autres types dinformations (proprits) que vous pouvez associer un document:

Dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop, recherchez les proprits et mthodes pour la classe info-object. Dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5), le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5), lexplorateur dobjets Visual Basic ou lafficheur de modles dobjets ExtendScript, recherchez les proprits pour lobjet DocumentInfo.

Utilisation des objets historystate


Photoshop conserve un historique des actions qui concernent les documents. Chaque fois que vous apportez un changement une image dans lapplication Photoshop, vous crez un tat dhistorique; vous pouvez accder aux tats dhistorique dun document partir du panneauHistorique en choisissant Fentre> Historique. Pour plus de dtails sur ltat dhistorique, consultez lAide de Photoshop. Dans un script, vous pouvez accder ltat dhistorique dun objet Document laide de lobjet HistoryStates, qui est une proprit de lobjet Document. Vous pouvez utiliser un objet HistoryStates pour rtablir ltat prcdent dun document ou pour remplir un objet Selection. Les exemples suivants rtablissent la forme et les proprits initiales (au premier enregistrement) du document contenu dans la variable docRef. Cette utilisation de ltat dhistorique permet dannuler des modifications apportes un document.

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 48

AS VBS JS

set current history state of current document to history state 1 of current document [Link] = [Link](1) [Link] = [Link][0]

REMARQUE: le rtablissement dun tat dhistorique ne supprime pas les derniers tats de la collection de lhistorique. Utilisez la commande Purge pour supprimer les derniers tats de la collection HistoryStates, comme indiqu ci-dessous:

AS: VBS: JS:

purge history caches [Link](2) 'for psPurgeTarget --> 2 (psHistoryCaches) [Link]([Link])

Lexemple ci-dessous enregistre ltat actuel, applique un filtre et rtablit ensuite ltat dhistorique enregistr. AS
set savedState to current history state of current document filter current layer of current document using motion blur with options {class:motion blur, angle:20, radius:20} set current history state of current document to savedState Set savedState = [Link] [Link](1).ApplyMotionBlur 20, 20 [Link] = savedState savedState = [Link] [Link][0].applyMotionBlur( 20, 20 ) [Link] = savedState

VBS

JS

Utilisation des objets Notifier


Lobjet Notifier sert lier un vnement un script. Par exemple, si vous souhaitez que Photoshop cre automatiquement un document lorsque vous ouvrez lapplication, vous pouvez lier un script qui cre un objet Document un vnement Open Application. REMARQUE: ce type de script quivaut slectionner Lancer lapplication dans le Gestionnaire dvnements de script (Fichier> Scripts> Gestionnaire dvnements de script) de lapplication Photoshop. Pour plus de dtails sur lutilisation du Gestionnaire dvnements de script, consultez lAide de Photoshop. La commande make (Add/add) requiert la spcification dun ID dvnement afin didentifier lvnement pour lequel dfinir la notification. Plusieurs ID dvnements sont rpertoris dans une annexe du guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5), du guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) et du guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5). Certains vnements agissent galement sur plusieurs types dobjets, de mme que la commande make (Add/add) requiert un argument supplmentaire pour un ID de classe, qui permet didentifier lobjet. Par exemple, la commande New (Nouveau) sapplique aux objets Document, Art Layer et Channel. REMARQUE: vous pouvez dterminer les ID dvnement et de classe de tout vnement enregistrable laide de lcouteur de scripts (voir la section Utilisation de lcouteur de scripts pour rechercher des ID dvnements et de classes , page 81). Les exemples suivants montrent comment dfinir une notification dvnement pour un vnement douverture de document. Le script vrifie dabord que loption de notification dvnement est active, puis dfinit lvnement sur le dclenchement de lexcution du [Link]). A la fin du script, chaque fois que vous ouvrez un document en dehors dun script, la notification se dclenche, et excute le [Link]. Ce fichier .jsx affiche un message dalerte.

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 49

REMARQUE: en rgle gnrale, la notification ne sapplique pas aux vnements lintrieur dun script, car ces vnements sont incorpors dans un vnement AdobeScriptAutomation Scripts. AS
tell application "Adobe Photoshop CS5" try delete notifiers end try make new notifier with properties {event:"Opn ", event file:alias "OS X 10.5.8 US:Users:psauto:Desktop:[Link]"} end tell Dim appRef,eventFile Set appRef = CreateObject("[Link]") [Link] = True eventFile = [Link] & "Presets\Scripts\Event Scripts Only\[Link]" [Link] "Opn ", eventFile

VBS

JS

[Link] = true var eventFile = new File([Link] + "/Presets/Scripts/Event Scripts Only/[Link]") [Link]("Opn ", eventFile)

Utilisation de lobjet PathItem


Pour crer un objet PathItem, vous devez ajouter un objet PathItem llment ou la collection PathItems dun document. Pour cela, vous devez crer un ensemble dobjets PathPointInfo, qui spcifient les coordonnes des coins ou des points dancrage du trac. Puis, vous crez un ensemble dobjets SubPathInfo destins contenir les tableaux PathPoint. Une fois que les points et la portion de trac ont t crs, vous pouvez ajouter un nouvel objet PathItem. Le script suivant cre un objet PathItem en forme de ligne droite. AS
--line #1--its a straight line so the coordinates for anchor, left, and --right for each point have the same coordinates tell application "Adobe Photoshop CS5" set ruler units of settings to pixel units set type units of settings to pixel units set docRef to make new document with properties {height:700, width:500, name:"Snow Cone"} set pathPointInfo1 to {class:path point info, kind:corner point, anchor:{100, 100}, left direction:{100, 100}, right direction:{100, 100}} set pathPointInfo2 to {class:path point info, kind:corner point, anchor:{150, 200}, left direction:{150, 200}, right direction:{150, 200}} set subPathInfo1 to {class:sub path info, entire sub path:{pathPointInfo1, pathPointInfo2}, operation:shape xor, closed:false} set newPathItem to make new path item in docRef with properties {entire path:{subPathInfo1}, name:"Line", kind:normal} end tell

CHAPITRE 3 : Scripts Photoshop

Utilisation du modle dobjet de Photoshop 50

VBS

Dim appRef, docRef Dim lineArray(1), lineArray2(1), lineSubPathArray(0), myPathItem Set appRef = CreateObject("[Link]") ' create a document to work with Set docRef = [Link](5000, 7000, 72, "Simple Line")

'line #1--its a straight line so the coordinates for anchor, left, and 'right for each point have the same coordinates 'First create the array of PathPointInfo objects. The line has two points, 'so there are two PathPointInfo objects. Set lineArray(0) = CreateObject("[Link]") lineArray(0).Kind = 2 ' for PsPointKind --> 2 (psCornerPoint) lineArray(0).Anchor = Array(100, 100) lineArray(0).LeftDirection = lineArray(0).Anchor lineArray(0).RightDirection = lineArray(0).Anchor Set lineArray(1) = CreateObject("[Link]") lineArray(1).Kind = 2 lineArray(1).Anchor = Array(150, 200) lineArray(1).LeftDirection = lineArray(1).Anchor lineArray(1).RightDirection = lineArray(1).Anchor 'Next create a SubPathInfo object, which will hold the line array 'in its EntireSubPath property. Set lineSubPathArray(0) = CreateObject("[Link]") lineSubPathArray(0).Operation = 2 'for PsShapeOperation --> 2 (psShapeXOR) lineSubPathArray(0).Closed = false lineSubPathArray(0).EntireSubPath = lineArray 'create the PathItem object using Add. This method takes the SubPathInfo object 'and returns a PathItem object, which is added to the pathItems collection 'for the document. Set myPathItem = [Link]("A Line", lineSubPathArray) ' stroke it so we can see something [Link](2) 'for PsToolType --> 2 (psBrush)

JS

// create a document to work with var docRef = [Link](5000, 7000, 72, "Simple Line") //line #1--its a straight line so the coordinates for anchor, left, and //right //for each point have the same coordinates // First create the array of PathPointInfo objects. The line has two points, // so there are two PathPointInfo objects. var lineArray = new Array() lineArray[0] = new PathPointInfo lineArray[0].kind = [Link] lineArray[0].anchor = Array(100, 100) lineArray[0].leftDirection = lineArray[0].anchor lineArray[0].rightDirection = lineArray[0].anchor lineArray[1] = new PathPointInfo lineArray[1].kind = [Link] lineArray[1].anchor = Array(150, 200) lineArray[1].leftDirection = lineArray[1].anchor lineArray[1].rightDirection = lineArray[1].anchor

CHAPITRE 3 : Scripts Photoshop

Utilisation des objets de couleur 51

// Next create a SubPathInfo object, which holds the line array // in its entireSubPath property. var lineSubPathArray = new Array() lineSubPathArray[0] = new SubPathInfo() lineSubPathArray[0].operation = [Link] lineSubPathArray[0].closed = false lineSubPathArray[0].entireSubPath = lineArray //create the path item, using add. This method takes the SubPathInfo object //and returns a PathItem object, which is added to the pathItems collection // for the document. var myPathItem = [Link]("A Line", lineSubPathArray); // stroke it so we can see something [Link]([Link])

Utilisation des objets de couleur


Vos scripts peuvent utiliser la mme gamme de couleurs que celle disponible via linterface utilisateur dePhotoshop. Chaque modle colorimtrique possde son propre ensemble de proprits. Par exemple, la classe RGBcolor (RGBColor/RGBColor) contient trois proprits: red (rouge), blue (bleu) et green (vert). Pour dfinir une couleur dans cette classe, vous devez indiquer les valeurs de chacune des trois proprits. En VBScript et JavaScript, la classe SolidColor contient une proprit pour chaque modle colorimtrique. Pour utiliser cet objet, vous devez dans un premier temps crer une instance dun objet SolidColor, puis dfinir les proprits de modle colorimtrique appropries pour lobjet. Une fois quun modle colorimtrique a t attribu un objet SolidColor, ce dernier ne peut plus tre attribu un autre modle colorimtrique. Les exemples suivants montrent comment dfinir une couleur laide de la classe CMYKcolor. AS VBS
set foreground color to {class:CMYK color, cyan:20.0, magenta:90.0, yellow:50.0, black:50.0} 'create a solidColor array Dim solidColorRef Set solidColorRef = CreateObject("[Link]") [Link] = 20 [Link] = 90 [Link] = 50 [Link] = 50 [Link] = solidColorRef //create a solid color array var solidColorRef = new solidColor() [Link] = 20 [Link] = 90 [Link] = 50 [Link] = 50 foregroundColor = solidColorRef

JS

CHAPITRE 3 : Scripts Photoshop

Utilisation des objets de couleur 52

Classes de couleur unie


Les classes de couleur unie disponibles dans Photoshop sont exposes ci-dessous. Classes de couleur Solid Color

RGB Color

CMYK Color

Gray Color

HSB Color

Lab Color

No Color

Utilisation des valeurs hexadcimales pour les couleursRVB


Vous pouvez exprimer des valeurs RVB comme valeurs hexadcimales. Une valeur hexadcimale contient trois paires de chiffres qui reprsentent le rouge, le bleu et le vert (dans cet ordre). En AppleScript, la valeur hexadcimale est reprsente par la proprit de chane hexvalue dans la classe RGB hex color, et vous pouvez rcuprer cette valeur hexadcimale laide de la commande convert color dcrite ci-dessous. En VBScript et JavaScript, la proprit de lobjet RGBColor se nomme HexValue/hexValue.

Obtention et conversion de couleurs


Les exemples suivants convertissent une couleurRVB en son quivalentCMJN. AS Le script suivant, qui suppose un modle colorimtriqueRVB, rcupre la couleur de premier plan, puis utilise la commande convert de la classe color pour convertir la couleur en son quivalentCMJN.
get foreground color convert color foreground color to CMYK

Recherchez les lments suivants dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript dePhotoshop.

Proprit foregroundcolor de la classe application (section Objets) Proprit convert (section Commandes)

VBS

Le script suivant utilise une instruction IfThen et la proprit model de lobjet SolidColor pour dterminer le modle de couleur utilis. Linstruction IfThen renvoie un objet SolidColor; si elle renvoie un objetRGB, la proprit cmyk de lobjet SolidColor vous permet alors daccder la couleur avec son quivalentCMJN.
Dim someColor If ([Link] = 2) Then [Link] '[Link] = 2 indicates psColorModel --> 2 (psRGBModel) End If

CHAPITRE 3 : Scripts Photoshop

Utilisation de filtres 53

Recherchez les lments suivants dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets VisualBasic:
model et cmyk comme proprits de lobjet SolidColor

JS

Cet exemple utilise la proprit foregroundColor de lobjet Application pour obtenir la couleur dorigine convertir. La proprit cmyk de lobjet SolidColor laquelle la proprit foregroundColor fait rfrence fournit une mthode daccs lquivalent CMJN de la couleur RVB.
var someColor = [Link]

Recherchez les lments suivants dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript.
cmyk comme proprit de lobjet SolidColor foregroundColor comme proprit de lobjet Application

Comparaison des couleurs


Lutilisation de la commande equal colors (IsEqual/isEqual) vous permet de comparer des couleurs. Les instructions suivantes renvoient la valeur true si la couleur de premier plan est visuellement identique la couleur darrire-plan.

AS: VBS: JS:

if equal colors foreground color with background color then If ([Link]([Link])) Then if ([Link](backgroundColor))

Obtention dune couleurWeb scurise


Pour convertir une couleur en une couleurWeb scurise, utilisez la commande web safe color dAppleScript et la proprit NearestWebColor/nearestWebColor de lobjet SolidColor pour VBScript etJavaScript. AS VBS JS
set myWebSafeColor to web safe color for foreground color Dim myWebSafeColor Set myWebSafeColor = [Link] var webSafeColor = new RGBColor() webSafeColor = [Link]

Utilisation de filtres
Pour appliquer un filtre en AppleScript, vous utilisez la commande filter avec une option de la classe filteroptions. En VBScript et JavaScript, vous devez utiliser une mthode de filtrage spcifique. Par exemple, pour appliquer un filtre Flougaussien, vous devez utiliser la mthode ApplyGaussianBlur/applyGaussianBlur(). Toutes les mthodes de filtrage appartiennent lobjet ArtLayer. REMARQUE: pour plus de dtails sur les effets produits par des types de filtre individuels, consultez lAide dePhotoshop. Les exemples suivants appliquent le filtre Flou gaussien au calque actif:

CHAPITRE 3 : Scripts Photoshop

Prsentation de linteraction avec le Presse-papiers 54

AS

Utilisez la commande filter, puis spcifiez le calque et le nom du filtre (et les options, le cas chant).
filter current layer of current document using gaussian blur with options {radius:5}

REMARQUE: dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop, recherchez la commande filter ainsi que la classe filteroptions. VBS
[Link] 5

REMARQUE: dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic, recherchez la mthode ApplyGaussianBlur et dautres mthodes de lobjet ArtLayer dont le nom commence par Apply. JS
[Link](5)

REMARQUE: dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript, recherchez la mthode applyGaussianBlur() et dautres mthodes de lobjet artLayer dont le nom commence par apply.

Filtres divers
Si le type de filtre utiliser sur le calque ne fait pas partie de linterface de scripts, vous pouvez utiliser le gestionnaire de scripts partir dun script JavaScript pour excuter un filtre. Si vous utilisez AppleScript ou VBScript, vous pouvez excuter le script JavaScript depuis votre script. Pour plus de dtails sur lutilisation du gestionnaire de scripts, reportez-vous la section Gestionnaire de scripts , page 73, ainsi qu la section Excution de scripts JavaScript partir dAS ou de VBS , page 10.

Prsentation de linteraction avec le Presse-papiers


Les commandes du Presse-papiers dans Photoshop agissent sur les objets ArtLayer, Selection etDocument. Les commandes peuvent servir manipuler les objets dun seul document ou dplacer des informations dun document dans un autre. Les commandes de Presse-papiers des objets layer (ArtLayer/ArtLayer) et selection (Selection/Selection) sont les suivantes:
copy (Copy/copy) copy merged (Copy Merge parameter value/copy(merge parameter value)) cut(Cut/cut)

Les commandes de Presse-papiers de lobjet document/Document/Document sont les suivantes:


paste (Paste/paste) paste into (Paste IntoSelection parameter value/paste(intoSelection parameter value))

REMARQUE: pour plus de dtails sur les fonctions Copier, Copier avec fusion, Coller, Collerdedans et Couper, consultez lAide dePhotoshop.

Utilisation des commandes copy et paste


Dans les exemples suivants, le contenu et le calque darrire-plan sont copis dans le Presse-papiers, un document est cr, puis le contenu du Presse-papiers est coll dans ce nouveau document. Les scripts considrent quun document est dj ouvert dans Photoshop et que le document possde un calque darrire-plan.

CHAPITRE 3 : Scripts Photoshop

Prsentation de linteraction avec le Presse-papiers 55

REMARQUE: si le script cre un document dans lequel vous collez le contenu du Presse-papiers, assurez-vous que le document utilise la mme unit de mesure que celle du document dorigine (voir la section Dfinition des prfrences de lapplication , page 32). AS REMARQUE: sous MacOS, Photoshop doit tre lapplication de premier plan lors de lexcution de ces commandes. Vous devez utiliser la commande activate pour activer lapplication avant dexcuter les commandes du Presse-papiers.
tell application "Adobe Photoshop CS5" activate select all of current document copy set current layer of current document to layer "Background" of current document set newDocRef to make new document paste newDocRef end tell

VBS

'make firstDocument the active document Set docRef = [Link] [Link]("Background").Copy Set newDocRef = [Link](8, 6, 72, "New Doc") [Link]

JS

//make firstDocument the active document var docRef = [Link] [Link]["Background"].copy() var newDocRef = [Link](8, 6, 72, "New Doc") [Link]()

Utilisation de la commande/mthode copy merged


Vous pouvez galement raliser une copie avec fusion pour copier lensemble des calques visibles dans la zone slectionne. En AppleScript, vous utilisez la commande copy merged. Pour VBScript et JavaScript, vous utilisez la commande Copy/copy, en transmettant une valeur de True/true pour le paramtre facultatif merge. AS REMARQUE: sous MacOS, Photoshop doit tre lapplication de premier plan lors de lexcution de ces commandes. Vous devez utiliser la commande activate pour activer lapplication avant dexcuter les commandes du Presse-papiers.
set docRef to make new document make new art layer of docRef select all of docRef copy merged selection of docRef

VBS

[Link] True

Recherchez la mthode Copy pour les objets ArtLayer et Selection dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets VisualBasic. JS
[Link](true)

Recherchez la mthode Copy() pour les objets ArtLayer et Selection dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript.

CHAPITRE 3 : Scripts Photoshop

Utilisation des units 56

Utilisation des units


Photoshop fournit deux rgles pour les documents. Vous pouvez dfinir les units de mesure pour les rgles dans votre script laide de proprits sur lobjet settings-object (Preferences/Preferences). Les rgles sont les suivantes:

Une rgle graphique, utilise pour la plupart des mesures ou oprations lies aux prsentations graphiques dans un document dont la hauteur, la largeur et la position sont spcifies. Vous dfinissez des types dunit de mesure pour la rgle graphique laide de la proprit ruler units (RulerUnits/rulerUnits).

Une rgle texte, qui devient active lors de lutilisation de loutilTexte. Vous dfinissez des types dunit de mesure pour la rgle de texte laide de la proprit type units (TypeUnits/typeUnits).

REMARQUE: ces paramtres correspondent ceux figurant dans la bote de dialogue Prfrences de Photoshop sous Photoshop> Prfrences> Units etrgles sous MacOS ou Edition> Prfrences> Units et rgles sousWindows.

Valeurs dunit
Tous les langages prennent en charge les chiffres entiers pour les valeurs dunit. Ces valeurs sont traites comme tant du type actuellement spcifi pour la rgle approprie. Par exemple, si lunit de la rgle est dfinie en pouces, linstruction VBScript suivante dfinit la taille dun document sur 3x3pouces:
[Link] 3,3

Si lunit de la rgle est dfinie sur pixels, le document sera de 3x3pixels. Assurez-vous de dfinir lunit de la rgle en fonction de votre script, afin dobtenir les rsultats escompts lors de lexcution du script. Une fois le script excut, vous devez rtablir les paramtres dorigine de la rgle sils ont t modifis dans le script. Reportez-vous la section Dfinition des units de rgle et de texte dans un script , page 59 pour obtenir des explications sur la dfinition des units. Pour plus de dtails sur les types de valeurs dunit disponibles, consultez lAide dePhotoshop.

Types de valeurs dunit spciaux


Les valeurs dunit utilises par Photoshop sont des units de longueur, reprsentant des valeurs de mesure linaire. Les pixels et les pourcentages sont galement pris en charge. Mme si ces deux types de valeurs dunit ne sont pas, proprement parler, des valeurs de longueur, ils sont inclus car ils sont normment utiliss par Photoshop pour de multiples oprations et valeurs.

Prcisions sur lunit en AppleScript


AppleScript fournit une mthode supplmentaire pour lutilisation des valeurs dunit. Vous pouvez fournir des valeurs avec un type dunit explicite lorsque des valeurs dunit sont utilises. Lorsquune valeur avec type est fournie, son type remplace les paramtres actuels de la rgle. Par exemple, pour crer un document de 4pouces de large sur 5pouces de haut, vous pouvez crire:
make new document with properties {width:inches 4, height:inches 5}

CHAPITRE 3 : Scripts Photoshop

Utilisation des units 57

La valeur renvoye pour une proprit Photoshop qui utilise des units est renvoye comme valeur du type de rgle slectionn. Obtention de la hauteur du document cr ci-dessus:
set docHeight to height of current document

renvoie une valeur de 5, ce qui reprsente 5pouces daprs les paramtres actuels de la rgle. En AppleScript, vous pouvez galement demander le renvoi dune valeur de proprit exprime dans un type dunit particulier.
set docHeight to height of current document as points

Cette instruction renvoie une valeur de360 (5 poucesx 72ppp). Les types dunits points et picas sont des points PostScript, de 72ppp. Les types dunit traditional points et traditional picas reposent sur des valeurs classiques de dfinition de texte, de 72,27points parpouce. Vous pouvez convertir, ou faire passer, une valeur dun type un autre. Par exemple, le script suivant convertit une valeur en points en une valeur en pouces.
set pointValue to 72 as points set inchValue to pointValue as inches

Lorsque ce script est excut, la variable inchValue contient 1pouce, soit 72points convertis en pouces. Cette capacit de conversion est intgre au langage AppleScript. REMARQUE: les valeurs cm units et mm units ne peuvent pas tre utilises de cette manire avec une rfrence correspondante encm oumm. Ces types dunits ne sont pas reconnus par la terminologie AppleScript.

Utilisation des valeurs dunit dans des calculs


Pour utiliser une valeur dunit dans un calcul en AppleScript, vous devez dabord convertir la valeur en nombre (une valeur dunit ne peut pas tre utilise telle quelle dans les calculs). Pour multiplier une valeur en pouces, crivez:
set newValue to (inchValue as number) * 5

REMARQUE: en AppleScript, vous pouvez rcuprer et dfinir des valeurs en pixels ou en pourcentage, tout comme vous le faites avec les autres types dunits. Cependant, vous ne pouvez pas convertir une valeur en pixels ou en pourcentage dans une autre unit de longueur comme vous le feriez avec tout autre type de valeur de longueur. Ainsi, lexcution du script suivant entranerait une erreur:
set pixelValue to 72 as pixels -- Next line will result in a coercion error when run set inchValue to pixelValue as inches

REMARQUE: du fait que Photoshop est une application oriente pixel, il se peut que vous ne puissiez pas retrouver toujours la mme valeur que celle que vous transmettez lors de la dfinition dune valeur. Par exemple, si rulerunits est dfini sur les unitsmm et que vous crez un document de 30x30, la valeur renvoye pour la hauteur ou la largeur sera 29,99 si la rsolution de votre document est dfinie sur 72ppp. Linterface de scripts suppose que les paramtres sont mesurs enppp.

Utilisation de la valeur dunit


Les tableaux suivants rpertorient les proprits des classes et objets dfinis pour utiliser des valeurs dunit. Sauf indication contraire dans le tableau, les valeurs dunit de ces proprits sont bases sur la dfinition de la rgle graphique.

CHAPITRE 3 : Scripts Photoshop

Utilisation des units 58

Pour utiliser ce tableau, utilisez lune des mthodes suivantes:

Recherchez les proprits de la classe dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript dePhotoshop. Recherchez la proprit de lobjet dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5), le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5), lexplorateur dobjets VisualBasic ou lafficheur de modles dobjets ExtendScript. Proprits dAppleScript
height width height width height width height width horizontaloffset verticaloffset baseline shift* first line indent* height hyphenation zone* leading* left indent* position right indent* space before* space after* width

Classe/Objet
Document

Proprits de VBScript
Height Width Height Width Height Width Height Width HorizontalOffset VerticalOffset BaselineShift* FirstLineIndent* Height HyphenationZone* Leading* LeftIndent* Position RightIndent* SpaceBefore* SpaceAfter* Width

Proprits de JavaScript
height width height width height width height width horizontalOffset verticalOffset baselineShift* firstLineIndent* height hyphenationZone* leading* leftIndent* position rightIndent* spaceBefore* spaceAfter* width

EPSopenoptions

PDFopenoptions

lensflareopenoptions

offsetfilter

TextItem

* Valeurs dunit bases sur la dfinition de la rgle texte. Le tableau suivant rpertorie les commandes qui utilisent des valeurs dunit comme paramtres ou arguments. Dans certains cas, les paramtres sont obligatoires. Les mthodes VBScript et JavaScript sont prcdes de lobjet auquel elles appartiennent. Pour utiliser ce tableau:

Pour les commandes AppleScript, recherchez la commande dans le chapitre Commands du guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou utilisez le dictionnaire AppleScript dePhotoshop. Pour les mthodes VBScript, recherchez la mthode dans le tableau Methods de lobjet dans le chapitre Interface du guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou utilisez lexplorateur dobjets VisualBasic. Pour les mthodes JavaScript, recherchez la mthode dans le tableau Methods de lobjet dans le chapitre Object Reference du guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou utilisez lafficheur de modles dobjets ExtendScript.

CHAPITRE 3 : Scripts Photoshop

Utilisation des units 59

AppleScript
crop (bounds, height, width) resize canvas (height, width) resize image (height, width) contract (by) expand (by) feather (by) select border (width) translate (delta x, delta y) translate boundary (delta x, delta y)

VBScript
[Link] (Bounds, Height, Width) [Link] (Height, Width) [Link] (Height, Width) [Link] (By) [Link] (By) [Link] (By) [Link] (Width) [Link] (DeltaX, DeltaY) [Link] (DeltaX, DeltaY)

JavaScript
[Link] (bounds, height, width) [Link] (height, width) [Link] (height, width) [Link] (by) [Link] (by) [Link] (by) [Link] (width) [Link] (deltaX, deltaY) [Link] (deltaX, deltaY)

Dfinition des units de rgle et de texte dans un script


Les paramtres de type dunit des deux rgles Photoshop dfinissent combien de numros sont interprts en prsence de proprits et de paramtres qui prennent en charge des valeurs dunit. Veillez dfinir les units de rgle au dbut du script et enregistrer et rtablir les paramtres dorigine une fois le script excut. AS En AppleScript, rulerunits et typeunits sont des proprits de settings-object, accessibles via la proprit settings de lobjet Application, comme illustr ci-dessous.
set ruler units of settings to inch units set type units of settings to pixel units set point size of settings to postscript size

VBS

En VBScript, RulerUnits et TypeUnits sont des proprits de lobjet Preferences, accessibles via la proprit Preferences de lobjet Application, comme illustr ci-dessous.
[Link] = 2 'for PsUnits --> 1 (psInches) [Link] = 1 'for PsTypeUnits --> 1 (psPixels) [Link] = 2 '2 indicates psPointType --> 2 (PsPostScriptPoints)

JS

En JavaScript, rulerUnits et typeUnits sont des proprits de lobjet Preferences, accessibles via la proprit Preferences de lobjet Application, comme illustr ci-dessous.
[Link] = [Link] [Link] = [Link] [Link] = [Link]

REMARQUE: pensez rtablir les paramtres dunit initiaux lorsque le script a t excut. Reportez-vous la section Utilisation des prfrences de document , page 61 pour obtenir un exemple de ralisation.

CHAPITRE 3 : Scripts Photoshop

Exemples de scripts JavaScript pour lautomatisation dun flux de production 60

Exemples de scripts JavaScript pour lautomatisation dun flux de production


Lexemple ci-dessous de scripts JavaScript pour lautomatisation dun flux de production est fourni avec Photoshop et explique divers types dutilisation des scripts. Ces scripts sont situs dans le dossier Paramtres prdfinis/Scripts du rpertoire de lapplication. Reportez-vous la section Cration et excution dun script JavaScript , page 19 pour plus de dtails sur le dossier Paramtres prdfinis/Scripts. Nom du script
Layer Comps to [Link] Layer Comps to [Link]

Description Enregistre les compositions de calque sous forme de fichiers. Enregistre les compositions de calque sous forme de prsentationPDF. Enregistre les compositions de calque sous forme de galerie de photos Web. Exporte chaque calque du document dans un fichier spar. Active et dsactive les objets de notification. Traite les images CameraRaw dans divers formats de fichiers. Charge les fichiers spars dans une pile dimages dans un seul document. Combine plusieurs images dune mme scne ou image, en capturant la plage dynamique dune scne en une imageHDR (High Dynamic Range).

Layer Comps to [Link] Export Layers to [Link] Script Events [Link] Image [Link] Load Files into [Link]

Merge to [Link]

Programmation avance de scripts


Cette section prsente comment utiliser les informations contenues dans les sections prcdentes de ce chapitre pour crer des scripts ralisant les tches suivantes:

Configuration des prfrences dun document. Application de couleur au texte. Dans cette section, vous apprendrez galement effectuer les oprations suivantes:

Cration dune rfrence un document existant. Cration dun objet calque et conversion en calque de texte.

Pixellisez le texte de sorte que les options Onde et Flou soient appliques aux mots. Dans ces sections, vous apprendrez en outre effectuer les oprations suivantes:

Slection et utilisation dune zone spcifique dun calque via la cration dun objet slection. Application de filtres Onde et Flou directionnel un texte slectionn.

REMARQUE: enregistrez le script que vous avez cr la fin de chaque leon des sections suivantes; chaque leon se sert du script cr dans la leon prcdente.

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 61

Utilisation des prfrences de document


Les exemples de scripts de cette section activent un objet Photoshop Application puis enregistrent les paramtres de configuration par dfaut dans des variables de manire ce quils puissent tre restaurs ultrieurement lorsque le script est achev. Il sagit des configurations par dfaut que vous avez certainement dfinies dans la bote de dialogue Prfrences lorsque vous avez install et configur Photoshop pour la premirefois. REMARQUE: pour afficher ou dfinir les prfrences, choisissez la commande Photoshop> Prfrences> Units et rgles (MacOS) ou Edition> Prfrences> Units et rgles (Windows). Ensuite, les scripts dfinissent les prfrences suivantes avec les valeurs ci-aprs: Prfrence rulers units dialog modes Valeur inches pixels never Description Utilise les pouces comme unit de mesure pour les graphiques. Utilise les pixels comme unit de mesure pour le texte. Supprime lutilisation des botes de dialogue afin que les scripts soient excuts sans intervention de lutilisateur (comme le clic sur le bouton OK) lors des diffrentes tapes de lexcution. REMARQUE: les modes de bote de dialogue ne sont pas une option dans lapplication Photoshop. Ensuite, des variables sont dclares pour stocker les dimensions du document en pouces et la rsolution du document en pixels. Puis, une rsolution daffichage est dclare et le texte Hello, World! est attribu une variable de type chane. Ensuite, une instruction if vrifie si un objet Document a t cr, puis cre un objet Document sil nen existe aucun. Enfin, les prfrences dorigine sont rtablies. AS Pour utiliser les prfrences de document: 1. Crez et excutez le script suivant (voir la section Cration et excution dun script AppleScript , page 18 pour plus de dtails).
tell application "Adobe Photoshop CS5" --make Photoshop CS5 the active (front-most) application activate --create variables for the default settings set theStartRulerUnits to ruler units of settings set theStartTypeUnits to type units of settings set theStartDisplayDialogs to display dialogs --change the settings set ruler units of settings to inch units set type units of settings to pixel units set display dialogs to never --create variables for default document settings set theDocWidthInInches to 4 set theDocHeightInInches to 2 set theDocResolution to 72 set theDocString to "Hello, World!"

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 62

--check to see whether any documents are open --if none are found, create a document --use the default document settings as its properties if (count of documents) is 0 then make new document with properties {width:theDocWidthInInches, height:theDocHeightInInches, resolution:theDocResolution, name:theDocString} end if --change the settings back to the original units stored in the variables set ruler units of settings to theStartRulerUnits set type units of settings to theStartTypeUnits set display dialogs to theStartDisplayDialogs end tell

2. Dans Photoshop, choisissez Photoshop> Prfrences> Unitsetrgles pour vrifier que les paramtres dorigine de vos prfrences ont t rtablis. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. 4. Enregistrez le script sous le nom HelloWorldDoc. VBS Pour utiliser les prfrences de document: 1. Crez le script suivant (voir la section Cration et excution dun script VBScript , page 19 pour plus de dtails).
'create variables for default preferences, new preferences Dim startRulerUnits Dim startTypeUnits Dim docWidthInInches Dim docHeightInInches Dim resolution Dim helloWorldStr Dim appRef Set appRef = CreateObject("[Link]") 'assign default preferences to save values in variables startRulerUnits = [Link] startTypeUnits = [Link] startDisplayDialogs = [Link] 'set new preferences and document defaults [Link] = 2 'for PsUnits --> 2 (psInches) [Link] = 1 'for PsTypeUnits --> 1 (psPixels) [Link] = 3 'for PsDialogModes --> 3 (psDisplayNoDialogs) docWidthInInches = 4 docHeightInInches = 2 resolution = 72 helloWorldStr = "Hello, World!" 'see if any documents are open 'if none, create one using document defaults If [Link] = 0 Then [Link] docWidthInInches, docHeightInInches, resolution, helloWorldStr End If

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 63

'restore beginning preferences [Link] = startRulerUnits [Link] = startTypeUnits [Link] = startDisplayDialogs Double click the file name in Windows Explorer to run the script.

2. Dans Photoshop, choisissez Edition> Prfrences> Unitsetrgles pour vrifier que les paramtres dorigine de vos prfrences ont t rtablis. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. 4. Nommez le script HelloWorldDoc et enregistrez-le. JS Pour utiliser les prfrences de document: 1. Crez le script suivant. REMARQUE: reportez-vous la section Cration et excution dun script JavaScript , page 19 pour plus de dtails sur la cration dun script JavaScript.
//create and assign variables for default preferences startRulerUnits = [Link] startTypeUnits = [Link] startDisplayDialogs = [Link] //change settings [Link] = [Link] [Link] = [Link] [Link] = [Link] //create and assign variables for document settings docWidthInInches = 4 docHeightInInches = 2 resolution = 72 docName = Hello World //use the length property of the documents object to //find out if any documents are open //if none are found, add a document if ([Link] == 0) [Link](docWidthInInches, docHeightInInches, resolution, docName) //restore beginning preferences [Link] = startRulerUnits [Link] = startTypeUnits [Link] = startDisplayDialogs

2. Nommez le script [Link] et enregistrez-le dans le dossier Paramtres prdfinis/Scripts. 3. Ouvrez Photoshop, puis choisissez Fichier> Scripts> HelloWorldDoc pour excuter le script. 4. Choisissez la commande Edition> Prfrences> Units et rgles pour vrifier que les paramtres dorigine des prfrences ont bien t rtablis. 5. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. 6. Enregistrez le script.

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 64

Application de couleur un lment de texte


Dans cette section, nous ajoutons un calque au script HelloWorldDoc, puis nous changeons le calque en objet texte affichant le texte Hello, World! en rouge. Avant de commencer, procdez comme suit:

Assurez-vous que Photoshop est ferm. Ouvrez le fichier HelloWorldDoc dans votre diteur de scripts.

AS

Pour crer et spcifier des dtails dans un texte: 1. Entrez le code suivant dans le script HelloWorldDoc immdiatement avant les instructions ( la fin du fichier) qui rtablissent les prfrences dorigine.
--create a variable named theDocRef --assign the current (active) document to it set theDocRef to the current document --create a variable that contains a color object of the RGB color class --whose color is red set theTextColor to {class:RGB color, red:255, green:0, blue:0} --create a variable for the text layer, create the layer as an art layer object --and use the kind property of the art layer object to make it a text layer set theTextLayer to make new art layer in theDocRef with properties {kind:text layer} --Set the contents, size, position and color of the text layer set contents of text object of theTextLayer to "Hello, World!" set size of text object of theTextLayer to 36 set position of text object of theTextLayer to {0.75 as inches, 1 as inches} set stroke color of text object of theTextLayer to theTextColor

2. Excutez le script complet. Patientez pendant que Photoshop excute vos commandes uneparune. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. REMARQUE: recherchez les classes suivantes dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop pour vous assurer que vous comprenez comment vous les avez utilises dans ce script:

Classe RGB color Classe art layer

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 65

VBS

Pour crer et spcifier des dtails dans un texte: 1. Entrez le code suivant dans le script HelloWorldDoc immdiatement avant les instructions ( la fin du fichier) qui rtablissent les prfrences dorigine.
'create a reference to the active (current) document Set docRef = [Link] ' create a variable named textColor 'create a SolidColor object whose color is red 'assign the object to textColor Set textColor = CreateObject ("[Link]") [Link] = 255 [Link] = 0 [Link] = 0 'create an art layer object using the 'Add method of the ArtLayers class 'assign the layer to the variable newTextLayer Set newTextLayer = [Link]() 'use the Kind property of the Art Layers class to 'make the layer a text layer [Link] = 2 [Link] = helloWorldStr [Link] = Array(0.75, 1) [Link] = 36 [Link] = textColor

2. Excutez le script complet. Patientez pendant que Photoshop excute vos commandes uneparune. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. REMARQUE: recherchez les classes suivantes dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic pour vous assurer que vous comprenez comment vous les avez utilises dans ce script:
SolidColor ArtLayer

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 66

JS

Pour crer et spcifier des dtails dans un texte: 1. Entrez le code suivant dans le script HelloWorldDoc immdiatement avant les instructions ( la fin du fichier) qui rtablissent les prfrences dorigine.
//create a reference to the active document docRef = [Link] //create a variable named textColor //create a SolidColor object whose color is red //assign the object to textColor textColor = new solidColor [Link] = 255 [Link] = 0 [Link] = 0 helloWorldText = "Hello, World!" //create a variable named newTextLayer //use the add() method of the artLayers class to create a layer object //assign the object to newTextLayer newTextLayer = [Link]() //use the kind property of the artLayer class to make the layer a text layer [Link] = [Link] [Link] = helloWorldText [Link] = Array(0.75, 1) [Link] = 36 [Link] = textColor

2. Enregistrez le script, ouvrez ensuite Photoshop, puis slectionnez le script dans le menu Scripts (choisissez Fichier> Script> HelloWorldDoc). Patientez pendant que Photoshop excute vos commandes uneparune. 3. Aprs avoir visualis le document dans Photoshop, fermez lapplication sans enregistrer le document. REMARQUE: recherchez les classes suivantes dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript pour vous assurer que vous comprenez comment vous les avez utilises dans ce script:
SolidColor ArtLayer. Vous pouvez constater que la valeur [Link] de la proprit kind utilise la constante LayerKind. Les constantes sont toujours reprsentes en majuscules dans les scripts

JavaScript Photoshop.

Application dun filtre Onde


Dans cette section, nous allons appliquer un filtre Onde au texte Hello du document. Cette opration implique les tapes suivantes:

Dfinissez la largeur et la hauteur du document en pixels, puis pixellisez lobjet texte dans le calque de texte. REMARQUE: le texte tant un graphique vectoriel auquel il est impossible dappliquer un filtre Onde, il convient dans un premier temps de convertir limage en bitmap. La pixellisation convertit les images vectorielles dfinies mathmatiquement en pixels. Pour plus de dtails sur la pixellisation, consultez lAide dePhotoshop.

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 67

Slectionnez la zone du calque laquelle appliquer le filtre Onde. REMARQUE: reportez-vous la section Dfinition de la zone dun objet de slection , page 67 pour vous familiariser avec le code du script effectuant cette tche.

Appliquez un filtre Onde la slection. REMARQUE: londe est une courbe sinusodale tronque.

Dfinition de la zone dun objet de slection


Pour dfinir la zone dun objet de slection, nous allons crer un tableau de coordonnes ou points spcifis en pixels dans le document. Le tableau indique les coordonnes qui dfinissent les coins extrieurs dune zone rectangulaire, commenant dans le coin suprieur gauche du document, et stendant jusqu sa moiti. REMARQUE: vous pouvez dfinir autant de points que vous le souhaitez pour une zone slectionne. Le nombre de coordonnes dtermine la forme de la slection. La dernire coordonne dfinie doit tre la mme que la premire de sorte obtenir une slection ferme. REMARQUE: reportez-vous la section Modle dobjet de Photoshop , page 11 pour plus de dtails sur les objets de slection et sur dautres objetsPhotoshop. Les valeurs du tableau sont, dans lordre:

Angle suprieur gauche de la slection: 0,0


0 indique la colonne la plus gauche du document. 0 indique la range du haut du document.

Angle suprieur droit de la slection: theDocWidthInPixels / 2, 0


theDocWidthInPixels / 2 indique la colonne au milieu du document, cest--dire la colonne

dont la coordonne est le nombre total de colonnes dans le document divis par2. REMARQUE: la valeur de theDocWidthInPixels quivaut au nombre total de pixels qui dfinissent la dimension horizontale du document. Les colonnes sont agences horizontalement.
0 indique la range du haut du document.

Angle infrieur droit: theDocWidthInPixels / 2, theDocHeightInPixels


theDocWidthInPixels / 2 indique le milieu du document. theDocHeightInPixels indique la range du bas du document, cest--dire la range dont la

coordonne est le nombre total de ranges dans le document. REMARQUE: la valeur de theDocHeightInPixels quivaut au nombre total de pixels qui dterminent la dimension verticale du document. Les ranges sont agences verticalement.

Coin infrieur gauche: 0, theDocHeightInPixels


0 indique la colonne la plus gauche dans le document. theDocHeightInPixels indique la range du bas dans le document.

Angle suprieur gauche de la slection: 0,0

Ferme le trac de slection sur son point de dpart.

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 68

AS

Pour slectionner une zone et lui appliquer un filtre Onde: 1. Entrez le code suivant dans le fichier de script HelloWorldDoc immdiatement avant les instructions rtablissant les prfrences dorigine:
--create new variables to contain the document objects width and height --determine width and height values by multiplying the --width and height in inches by the resolution --(which equals the number of pixels per inch) set theDocWidthInPixels to theDocWidthInInches * theDocResolution set theDocHeightInPixels to theDocHeightInInches * theDocResolution --use the rasterize command of the art layer object rasterize theTextLayer affecting text contents --create a variable named theSelRegion --assign an array of coordinates as its value set theSelRegion to {{0, 0}, {theDocWidthInPixels / 2, 0}, {theDocWidthInPixels / 2, theDocHeightInPixels}, {0, theDocHeightInPixels}, {0, 0}} --replace the document object with the selection object --so that the wave is applied only to the selected text select theDocRef region theSelRegion combination type replaced --apply the wave filter using the filter command of the --wave filter class (inherited from the filter options super class) filter current layer of theDocRef using wave filter with options {class:wave filter, number of generators:1, minimum wavelength:1, maximum wavelength:100, minimum amplitude:5, maximum amplitude:10, horizontal scale:100, vertical scale:100, wave type:sine, undefined areas:repeat edge pixels, random seed:0}

2. Choisissez le bouton Excuter pour excuter le script. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. 4. Enregistrez le script dans lditeur de scripts. REMARQUE: recherchez les classes suivantes dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop pour vous assurer que vous comprenez comment vous les avez utilises dans ce script:

Classe wave filter Classe art layer: commande rasterize, commande filter Classe document: commande select, paramtre combination type

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 69

VBS

Pour slectionner une zone et lui appliquer un filtre Onde: 1. Entrez le code suivant dans le fichier de script HelloWorldDoc immdiatement avant les instructions ( la fin du fichier) qui rtablissent les prfrences dorigine:
'create new variables to contain doc width and height 'convert inches to pixels by multiplying the number of inches by 'the resolution (which equals number of pixels per inch) docWidthInPixels = docWidthInInches * resolution docHeightInPixels = docHeightInInches * resolution 'use the Rasterize() method of the ArtLayer class to 'convert the text in the ArtLayer object (contained in the newTextLayer variable) 'to postscript text type [Link] (1) 'create an array to define the selection property 'of the Document object 'define the selected area as an array of points in the document [Link] Array(Array(0, 0), _ Array(docWidthInPixels / 2, 0), _ Array(docWidthInPixels / 2, docHeightInPixels), _ Array(0, docHeightInPixels), Array(0, 0)) 'use the ApplyWave() method of the ArtLayer class 'to apply the wave of the selected text [Link] 1, 1, 100, 5, 10, 100, 100, 1, 1, 0

2. Cliquez deux fois sur le nom du fichier dans lExplorateur de Windows pour excuter le script. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. 4. Enregistrez le script. REMARQUE: recherchez les classes suivantes dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic pour vous assurer que vous comprenez comment vous les avez utilises dans ce script:

Classe ArtLayer: mthode ApplyWave, mthode Rasterize Classe Selection: mthode Select

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 70

JS

Pour slectionner une zone et lui appliquer un filtre Onde: 1. Entrez le code suivant dans le fichier de script HelloWorldDoc immdiatement avant les instructions rtablissant les prfrences dorigine:
//create new variables to contain doc width and height //convert inches to pixels by multiplying the number of inches by //the resolution (which equals number of pixels per inch) docWidthInPixels = docWidthInInches * resolution docHeightInPixels = docHeightInInches * resolution //use the rasterize method of the artLayer class [Link]([Link]) //create a variable to contain the coordinate values //for the selection object selRegion = Array(Array(0, 0), Array(docWidthInPixels / 2, 0), Array(docWidthInPixels / 2, docHeightInPixels), Array(0, docHeightInPixels), Array(0, 0)) //use the select method of the selection object //to create an object and give it the selRegion values //as coordinates [Link](selRegion) [Link](1, 1, 100, 5, 10, 100, 100, [Link], [Link], 0)

2. Enregistrez le script, ouvrez ensuite Photoshop, puis slectionnez le script dans le menu Scripts (choisissez Fichier> Script> HelloWorldDoc). 3. Aprs avoir visualis le document dans Photoshop, fermez lapplication sans enregistrer le document. REMARQUE: recherchez les classes suivantes dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript pour vous assurer que vous comprenez comment vous les avez utilises dans ce script:

Mthode ArtLayer
rasterize(). Vous remarquerez que largument [Link] utilise la constante RasterizeType. Les constantes sont toujours reprsentes en majuscules dans les

scripts JavaScript Photoshop.

Mthode applyWave()

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 71

Application dun filtre Flou directionnel


Dans cette section, nous appliquons un filtre diffrent la seconde moiti du document. AS Pour appliquer un filtre Flou directionnel HelloWorldDoc: 1. Entrez le code suivant dans le fichier de script HelloWorldDoc immdiatement avant les instructions rtablissant les prfrences dorigine:
--change the value of the variable theSelRegion --to contain the opposite half of the screen set theSelRegion to {{theDocWidthInPixels / 2, 0}, {theDocWidthInPixels, 0}, {theDocWidthInPixels, theDocHeightInPixels}, {theDocWidthInPixels / 2, theDocHeightInPixels}, {theDocWidthInPixels / 2, 0}} select theDocRef region theSelRegion combination type replaced filter current layer of theDocRef using motion blur with options {class:motion blur, angle:45, radius:5} deselect theDocRef

2. Choisissez le bouton Excuter pour excuter le script. REMARQUE: recherchez la classe motion blur dans le guide Adobe PhotoshopCS5 AppleScript Scripting Reference (Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS5) ou dans le dictionnaire AppleScript de Photoshop pour vous assurer que vous comprenez comment vous lavez utilise dans ce script: VBS Pour appliquer un filtre Flou directionnel HelloWorldDoc: 1. Entrez le code suivant dans le fichier de script HelloWorldDoc immdiatement avant les instructions rtablissant les prfrences dorigine:
[Link] Array(Array(docWidthInPixels / 2, 0), _ Array(docWidthInPixels, 0), _ Array(docWidthInPixels, docHeightInPixels), _ Array(docWidthInPixels / 2, docHeightInPixels), _ Array(docWidthInPixels / 2, 0)) [Link] 45, 5 [Link]

2. Cliquez deux fois sur ce fichier dans lExplorateur de Windows pour excuter le script. REMARQUE: recherchez la classe ArtLayer: mthode ApplyMotionBlur dans le guide Adobe PhotoshopCS5 Visual Basic Scripting Reference (Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS5) ou dans lexplorateur dobjets Visual Basic pour vous assurer que vous comprenez comment vous lavez utilise dans ce script:

CHAPITRE 3 : Scripts Photoshop

Programmation avance de scripts 72

JS

Pour appliquer un filtre Flou directionnel HelloWorldDoc: 1. Entrez le code suivant dans le fichier de script HelloWorldDoc immdiatement avant les instructions rtablissant les prfrences dorigine:
//change the value of selRegion to the other half of the document selRegion = Array(Array(docWidthInPixels / 2, 0), Array(docWidthInPixels, 0), Array(docWidthInPixels, docHeightInPixels), Array(docWidthInPixels / 2, docHeightInPixels), Array(docWidthInPixels / 2, 0)) [Link](selRegion) [Link](45, 5) [Link]()

2. Enregistrez le script, ouvrez ensuite Photoshop, puis slectionnez le script dans le menu Scripts (choisissez Fichier> Script> HelloWorldDoc). REMARQUE: recherchez la classe ArtLayer mthode applyMotionBlur() dans le guide Adobe PhotoshopCS5 JavaScript Scripting Reference (Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS5) ou dans lafficheur de modles dobjets ExtendScript pour vous assurer que vous comprenez comment vous lavez utilise dans ce script.

Gestionnaire de scripts
Les scripts Photoshop vous permettent de gagner du temps en automatisant des tches rptitives. Vous pouvez crer et excuter des scripts dans linterface de lapplication laide du panneauScripts. Il est galement possible de grer des actions dans des scripts laide dun utilitaire appel Gestionnaire de scripts. Le gestionnaire de scripts vous permet dcrire des scripts qui ciblent la fonctionnalit Photoshop sinon inaccessible dans linterface de scripts, tels que des modules externes et filtrestiers. Pour pouvoir utiliser le gestionnaire de scripts, la tche laquelle vous souhaitez accder via le gestionnaire de scripts doit tre enregistrable. Ce chapitre explique comment utiliser le gestionnaire de scripts et les objets dinterface de scripts qui lui sont associs.

Module externe Ecouteur de scripts


Avant dutiliser le gestionnaire de scripts, vous devez installer le module externeEcouteur de scripts. Lcouteur de scripts enregistre un fichier qui contient du code correspondant aux actions effectues dans linterface utilisateur. CONSEIL: tant donn que lcouteur de scripts enregistre la plupart de vos actions, installez-le uniquement lorsque vous crez le gestionnaire de scripts. Le fait de laisser ScriptListener install en permanence engendre non seulement la cration de fichiers volumineux qui occupent la mmoire de votre disque dur mais peut aussi ralentir les performances dePhotoshop. Lorsque vous effectuez des tches ou des sries de tches dans Photoshop, ScriptListener cre plusieurs fichiers qui contiennent un code reprsentant les actions effectues dans Photoshop:
[Link] contenant le code JavaScript [Link] contenant le code VBScript (Windows seulement)

Lcouteur de scripts cre ces fichiers sur le bureau. REMARQUE: il nexiste pas dinterface AppleScript pour le gestionnaire de scripts. Cependant, vous pouvez accder au gestionnaire de scripts partir dun script AppleScript en excutant un script JavaScript depuisAppleScript (voir la section Excution de code du gestionnaire de scripts JavaScript partir dun script AppleScript , page 80).

Installation de lcouteur de scripts


Le module externe ScriptListener est situ dans le dossier ..\Adobe Photoshop CS5\Scripting\Utilities. Installation de lcouteur de scripts: 1. Slectionnez le fichier Ecouteur de scripts.8li, puis choisissez la commande Edition>Copier. 2. Collez la copie du fichier lemplacement suivant:
..\Adobe Photoshop CS5\Plug-Ins\Automate

3. Ouvrez Photoshop. REMARQUE: si Photoshop est dj ouvert, fermez-le puis relancez-le. Cette opration permet Photoshop de charger le module externe.
73

CHAPITRE 4 : Gestionnaire de scripts

Objets du gestionnaire de scripts

74

Dsinstallation de lcouteur de scripts: 1. Fermez Photoshop. 2. Vrifiez quune copie du fichier ScriptListener.8li existe dj dans le dossier ..\Adobe Photoshop CS5\Scripting\Utilities. 3. Supprimez le fichier Ecouteur de scripts.8li situ lemplacement suivant:
..\Adobe Photoshop CS\Plug-Ins\Automate

4. Supprimez les fichiers dhistorique [Link] et [Link] de votre bureau. REMARQUE: sous Windows, lcouteur de scripts peut continuer enregistrer les actions mme aprs avoir t retir du dossierAutomatisation. Pour empcher le fichier [Link] de devenir trop volumineux, supprimez-le chaque fois que vous finissez dexcuter un scriptPhotoshop.

Objets du gestionnaire de scripts


Les objets Action Descriptor, Action List et Action Reference font partie de la fonctionnalit Gestionnaire de scripts. Pour plus de dtails sur ces objets, consultez le guide de rfrence correspondant ou utilisez lexplorateur dobjets du langage que vous utilisez. REMARQUE: ces objets ne sont pas disponibles dans AppleScript.

Enregistrement dun script laide de lcouteur de scripts


Cette section montre comment crer un fichier dhistorique de script laide de lcouteur de scripts. Nous allons enregistrer les actions ncessaires lapplication du filtre Estampage un document (Par dfaut, le filtre Estampage est disponible uniquement via linterface Photoshop.) REMARQUE: vous devez avoir install le module externe Ecouteur de scripts dans le dossier Automatisation avant de commencer la procdure suivante (voir la section Installation de lcouteur de scripts , page 73). Cration dun script dapplication du filtre Estampage 1. Ouvrez Photoshop, puis ouvrez un document. 2. Choisissez la commande Fentre> Scripts, puis Nouveauscript dans le menu du panneauScripts. 3. Attribuez un nom au script, puis cliquez sur le boutonEnregistrer. 4. Choisissez la commande Filtre> Esthtiques>Estampage. 5. Appliquez les paramtres suivants:

Angle: 135 Hauteur: 3 Facteur: 100

6. Cliquez sur le boutonOK.

CHAPITRE 4 : Gestionnaire de scripts

Utilisation du gestionnaire de scripts partir dun scriptJavaScript

75

7. Vrifiez les fichiers dhistorique de script:


Sous Windows, les fichiers dhistorique apparaissent sur votre bureau. Sous MacOS, les fichiers dhistorique apparaissent sur le bureau.

Utilisation du gestionnaire de scripts partir dun scriptJavaScript


Cette section montre comment utiliser le contenu du fichier dhistorique [Link] pour crer votre script. Avant de commencer, vous devez pralablement avoir enregistr une action. Lexemple utilis dans cette section suppose que vous avez suivi les instructions de la section Enregistrement dun script laide de lcouteur de scripts , page 74. Les procdures dcrites dans cette section utilisent le gestionnaire de scripts pour rendre le filtre Estampage disponible dans linterface de scripts. Cration dun script JavaScript partir du rsultat de lcouteur de scripts 1. Utilisez lune des mthodes suivantes:

Ouvrez le fichier [Link] sur le bureau.

Un code similaire lexemple ci-dessous apparat la fin du fichier (les nombres peuvent toutefois diffrer):
var id19 = charIDToTypeID( "Embs" ); var desc4 = new ActionDescriptor(); var id20 = charIDToTypeID( "Angl" ); [Link]( id20, 135 ); var id21 = charIDToTypeID( "Hght" ); [Link]( id21, 3 ); var id22 = charIDToTypeID( "Amnt" ); [Link]( id22, 100 ); executeAction( id19, desc4 ,[Link]);

REMARQUE: lcouteur de scripts spare les commandes consignes par des lignes horizontales composes de signes gal (=====...). Si laction la plus rcente nest pas la premire action enregistre dans le fichier dhistorique, elle se trouve la suite de la dernire ligne de signesgal et est ainsi facilement identifiable. 2. Copiez le code JavaScript associ laction destampage du fichier [Link] dans un autre fichier, [Link]. 3. Dans le script [Link], identifiez les valeurs que vous avez utilises avec le filtre (135, 3 et100). Remplacez les valeurs de filtre spcifies par des noms de variables. Dans lexemple suivant, la valeur135 a t remplace par angle, 3 parheight et 100 paramount.
var id19 = charIDToTypeID( "Embs" ); var desc4 = new ActionDescriptor(); var id20 = charIDToTypeID( "Angl" ); [Link]( id20, angle ); var id21 = charIDToTypeID( "Hght" ); [Link]( id21, height ); var id22 = charIDToTypeID( "Amnt" ); [Link]( id22, amount ); executeAction( id19, desc4,[Link] );

CHAPITRE 4 : Gestionnaire de scripts

Utilisation du gestionnaire de scripts partir dun scriptVBS

76

4. Incluez le code dans une fonction JavaScript. La fonction utilise dans lexemple suivant est appeleemboss.
function emboss( angle, height, amount ) { var id19 = charIDToTypeID( "Embs" ); var desc4 = new ActionDescriptor(); var id20 = charIDToTypeID( "Angl" ); [Link]( id20, angle ); var id21 = charIDToTypeID( "Hght" ); [Link]( id21, height ); var id22 = charIDToTypeID( "Amnt" ); [Link]( id22, amount ); executeAction( id19, desc4 ,[Link]); }

5. Pour appliquer un filtre Estampage un document laide dun script JavaScript, incluez la fonction emboss dans le script JavaScript et appelez cette fonction avec les paramtres souhaits. Lexemple suivant applique le filtre Estampage avec un angle de75, une hauteur de2 et un facteur de89 (voir la section Ouverture dun document , page 28 pour obtenir de laide sur lcriture de code permettant douvrir un document dans le script).
// Open the document in the script var fileRef = new File("/c/myfile") var docRef = [Link](fileRef) //Call emboss with desired parameters emboss( 75, 2, 89 ); //finish the script //include the function in the script file function emboss(angle, height, amount ) { var id32 = charIDToTypeID( "Embs" ); var desc7 = new ActionDescriptor(); var id33 = charIDToTypeID( "Angl" ); [Link]( id33, angle ); var id34 = charIDToTypeID( "Hght" ); [Link]( id34, height ); var id35 = charIDToTypeID( "Amnt" ); [Link]( id35, amount ); executeAction( id32, desc7,[Link] ); }

6. Ouvrez Photoshop, pour appliquer le filtre Estampage en slectionnant Fichier> Scripts> Parcourir, puis en slectionnant lemplacement de votre [Link]. Slectionnez la commande Charger pour excuter le script.

Utilisation du gestionnaire de scripts partir dun scriptVBS


Cette section montre comment utiliser le contenu du fichier dhistorique [Link] pour crer votre script. Avant de commencer, vous devez avoir enregistr une action. Lexemple utilis dans cette section suppose que vous avez suivi les instructions de la section Enregistrement dun script laide de lcouteur de scripts , page 74. Les procdures dcrites dans cette section utilisent le gestionnaire de scripts pour rendre le filtre Estampage disponible dans linterface de scripts.

CHAPITRE 4 : Gestionnaire de scripts

Utilisation du gestionnaire de scripts partir dun scriptVBS

77

Cration dun script VBScript partir du rsultat de lcouteur de scripts 1. Ouvrez le fichier [Link] partir du bureau. Un code similaire lexemple ci-dessous apparat la fin du fichier (les nombres peuvent toutefois diffrer):
DIM objApp SET objApp = CreateObject("[Link]") REM Use dialog mode 3 for show no dialogs DIM dialogMode dialogMode = 3 DIM id9 id9 = [Link]( "Embs" ) DIM desc4 SET desc4 = CreateObject( "[Link]" ) DIM id10 id10 = [Link]( "Angl" ) Call [Link]( id10, 135 ) DIM id11 id11 = [Link]( "Hght" ) Call [Link]( id11, 3 ) DIM id12 id12 = [Link]( "Amnt" ) Call [Link]( id12, 100 ) Call [Link]( id9, desc4, dialogMode )

REMARQUE: lcouteur de scripts spare les commandes consignes par des lignes horizontales composes de signes gal (====...). Si laction la plus rcente nest pas la premire action enregistre dans le fichier dhistorique, elle se trouve la suite de la dernire ligne de signesgal et est ainsi facilement identifiable. 2. Copiez le code VBScript associ laction destampage du fichier [Link] dans un autre fichier, [Link]. 3. Dans le script [Link], identifiez les valeurs que vous avez utilises avec le filtre (135, 3 et100). Remplacez les valeurs de filtre spcifies par des noms de variables. Dans lexemple suivant, 135 a t remplac par angle, 3 par height et 100 par amount.
DIM objApp SET objApp = CreateObject("[Link]") REM Use dialog mode 3 for show no dialogs DIM dialogMode dialogMode = 3 DIM id9 id9 = [Link]( "Embs" ) DIM desc4 SET desc4 = CreateObject( "[Link]" ) DIM id10 id10 = [Link]( "Angl" ) Call [Link]( id10, angle) DIM id11 id11 = [Link]( "Hght" ) Call [Link]( id11, height ) DIM id12 id12 = [Link]( "Amnt" ) Call [Link]( id12, amount ) Call [Link]( id9, desc4, dialogMode )

CHAPITRE 4 : Gestionnaire de scripts

Utilisation du gestionnaire de scripts partir dun scriptVBS

78

4. Incluez le code dans une fonctionVBScript. La fonction utilise dans lexemple suivant est appeleEmboss. La cration de lobjet dapplication Photoshop doit tre lextrieur de la fonction, comme nous lexpliquerons la prochaine tape.
DIM objApp SET objApp = CreateObject("[Link]") Function Emboss( angle, height, amount ) REM Use dialog mode 3 for show no dialogs DIM dialogMode dialogMode = 3 DIM id9 id9 = [Link]( "Embs" ) DIM desc4 SET desc4 = CreateObject( "[Link]" ) DIM id10 id10 = [Link]( "Angl" ) Call [Link]( id10, angle ) DIM id11 id11 = [Link]( "Hght" ) Call [Link]( id11, height ) DIM id12 id12 = [Link]( "Amnt" ) Call [Link]( id12, amount ) Call [Link]( id9, desc4, dialogMode ) End Function

5. Pour appliquer le filtre Estampage un document laide dun scriptVBScript, incluez la fonction emboss dans le script et appelez cette fonction avec les paramtres souhaits. Lexemple suivant applique le filtre Estampage avec un angle de75, une hauteur de2 et un facteur de89. Avant que le script nappelle la fonction, il doit ouvrir un document (voir la section Ouverture dun document , page 28 pour obtenir de laide sur lcriture de code permettant douvrir un document dans le script). Pour cela, le script doit accder aux modles dobjets de document (DOM) Photoshop lorsquil appelle la mthode [Link]. Le script doit donc pralablement crer lobjet [Link] avant douvrir un nouveau document.
DIM objApp SET objApp = CreateObject("[Link]") 'Open the document in the script filename = C:\MyFile DIM docRef SET docRef = [Link](filename) 'Call emboss with desired parameters Call Emboss( 75, 2, 89 )

CHAPITRE 4 : Gestionnaire de scripts

Excution de code du gestionnaire de scripts JavaScript partir dun script VBScript

79

Function Emboss( angle, height, amount ) REM Use dialog mode 3 for show no dialogs DIM dialogMode dialogMode = 3 DIM id9 id9 = [Link]( "Embs" ) DIM desc4 SET desc4 = CreateObject( "[Link]" ) DIM id10 id10 = [Link]( "Angl" ) Call [Link]( id10, angle ) DIM id11 id11 = [Link]( "Hght" ) Call [Link]( id11, height ) DIM id12 id12 = [Link]( "Amnt" ) Call [Link]( id12, amount ) Call [Link]( id9, desc4, dialogMode ) End Function

6. Appliquez le du filtre Estampage en cliquant deux fois sur le fichier [Link]. Cette opration lance Photoshop, ouvre le fichier et applique le filtre Estampage au fichier.

Excution de code du gestionnaire de scripts JavaScript partir dun script VBScript


La mthode DoJavaScriptFile permet galement daccder du code du gestionnaire de scripts JavaScript partir dun script VBScript. Pour plus de dtails sur la mthode [Link], utilisez lexplorateur dobjetsVBscript. Excution de code du gestionnaire de scripts JavaScript partir dun script VBScript 1. Suivez les tapes 1 4 de la section Utilisation du gestionnaire de scripts partir dun scriptJavaScript , page 75. Vous obtiendrez un fichier ([Link]) contenant le code JavaScript suivant:
function emboss( angle, height, amount ) { var id32 = charIDToTypeID( "Embs" ); var desc7 = new ActionDescriptor(); var id33 = charIDToTypeID( "Angl" ); [Link]( id33, angle ); var id34 = charIDToTypeID( "Hght" ); [Link]( id34, height ); var id35 = charIDToTypeID( "Amnt" ); [Link]( id35, amount ); executeAction( id32, desc7 ); }

2. A la fin du fichier [Link], ajoutez la ligne de code JavaScript suivante pour excuter la fonction emboss en lui transmettant des arguments partir dun appel externe. Reportez-vous au guide Introduction to Scripting (Introduction aux scripts) pour plus de dtails sur la transmission darguments dun scriptVBScript un scriptJavaScript.
// Call emboss with values provided in the "arguments" collection emboss( arguments[0], arguments[1], arguments[2] );

CHAPITRE 4 : Gestionnaire de scripts

Excution de code du gestionnaire de scripts JavaScript partir dun script AppleScript 80

3. A partir dun script VBScript, vous pouvez excuter le filtre Estampage comme suit (cet exemple suppose que le fichier [Link] se trouve sur le lecteurC:\):
Set objApp = CreateObject("[Link]") 'Open the document in the script filename = C:\MyFile DIM docRef SET docRef = [Link](filename) [Link] "C:\[Link]", Array(75, 2, 89)

Excution de code du gestionnaire de scripts JavaScript partir dun script AppleScript


AppleScript ne contient aucune fonctionnalit de gestionnaire de scripts. Cependant, vous pouvez excuter un code et des fichiers JavaScript partir de scripts AppleScript laide de la commande dojavascript. Pour plus de dtails, reportez-vous au guide Introduction to Scripting (Introduction aux scripts). 1. Suivez les tapes 1 4 de la section Utilisation du gestionnaire de scripts partir dun scriptJavaScript , page 75. Vous obtiendrez un fichier ([Link]) contenant le code JavaScript suivant:
function emboss( angle, height, amount ) { var id32 = charIDToTypeID( "Embs" ); var desc7 = new ActionDescriptor(); var id33 = charIDToTypeID( "Angl" ); [Link]( id33, angle ); var id34 = charIDToTypeID( "Hght" ); [Link]( id34, height ); var id35 = charIDToTypeID( "Amnt" ); [Link]( id35, amount ); executeAction( id32, desc7 ); }

2. A la fin du fichier [Link], ajoutez la ligne de code JavaScript suivante pour excuter la fonction emboss en lui transmettant des arguments partir dun appel externe. Reportez-vous au guide Introduction to Scripting (Introduction aux scripts) pour plus de dtails sur la transmission darguments dun script AppleScript un scriptJavaScript.
// Call emboss with values provided in the "arguments" collection emboss( arguments[0], arguments[1], arguments[2] );

3. Lexemple de code AppleScript suivant ouvre un document et excute le filtre Estampage:


tell application "Adobe Photoshop CS5" set theFile to alias Application:Documents:MyFile open theFile do javascript (file <path to [Link]>) with arguments { 75,2,89 } end tell

CHAPITRE 4 : Gestionnaire de scripts

Utilisation de lcouteur de scripts pour rechercher des ID dvnements et de classes

81

Utilisation de lcouteur de scripts pour rechercher des ID dvnements et de classes


La section explique comment utiliser ScriptListener pour dterminer des ID dvnements et des ID de classe pour des actions effectues parPhotoshop. Ces ID sont utiliss pour configurer la notification laide de la classe Classe Notifier. Vous pouvez dterminer lID dvnement de toutes les actions enregistrables en utilisant lcouteur de scripts. Il vous suffit pour cela dinstaller le module externe Ecouteur de scripts comme indiqu la section Installation de lcouteur de scripts , page 73. Excutez ensuite laction pour laquelle vous souhaitez rechercher lID dvnement. Lvnement est alors consign dans le fichier dhistorique de lcouteur de scripts (voir la section Module externe Ecouteur de scripts , page 73). Si lvnement sapplique plusieurs classes dobjets, lID de classe est galement consign dans le fichier dhistorique. Les exemples suivants montrent comment rechercher lID de lvnement OpenDocument (Ouvrir le document) et les ID dvnements et de classes de lvnement New (Nouveau), qui sapplique plusieurs classes. Recherche de lID de lvnement Open Document 1. Assurez-vous que le module externe Ecouteur de scripts est install. 2. Ouvrez Photoshop, puis ouvrez un document. 3. Recherchez le fichier dhistorique de lcouteur de scripts et ouvrez-le. Vous pouvez utiliser le fichier dhistorique VBScript ou JavaScript. Dans la version JavaScript du fichier, un code similaire lexemple ci-dessous apparat la fin du fichier (tous les lments situs sous la ligne compose de signesgal correspondent la dernire action effectue):
// ======================================================= var id14 = charIDToTypeID( "Opn " ); var desc5 = new ActionDescriptor(); var id15 = charIDToTypeID( "null" ); [Link]( id15, new File( "C:\\Program Files\\Adobe\\Adobe Photoshop CS5\\ Samples\\[Link]" ) ); executeAction( id14, desc5, [Link] );

4. La mthode executeAction excute laction partir dun script et requiert lID dvnement pour identifier laction effectuer. Le premier argument, dans ce cas id14, fournit lID dvnement la mthode. Vous pouvez constater que la variableid14 est dfinie quelques lignes plus haut, et que lID dvnement de laction OpenDocument est"Opn ". 5. Vous pouvez dsormais utiliser cet ID dvnement pour configurer une notification dvnement pour lvnement OpenDocument partir de vos scripts. Par exemple, dans JavaScript:
var eventFile = new File([Link] + "/Presets/Scripts/Event Scripts Only/[Link]") [Link]( "Opn ", eventFile)

Recherche de lID dvnement et de lID de classe de lvnementNew 1. Assurez-vous que le module externe Ecouteur de scripts est install. 2. Ouvrez Photoshop, puis crez un document laide de la commande Fichier> Nouveau. 3. Crez ensuite une nouvelle couche en cliquant sur licne Crer une couche dans le panneauCouches.

CHAPITRE 4 : Gestionnaire de scripts

Utilisation de lcouteur de scripts pour rechercher des ID dvnements et de classes

82

4. Recherchez le fichier dhistorique de lcouteur de scripts et ouvrez-le. Vous pouvez utiliser le fichier dhistorique VBScript ou JavaScript. Comme nous avons enregistr deux actions, nous recherchons les deux dernires sections du fichier, qui sont dlimites par les lignes de signesgal. Dans le fichier historique JavaScript, un code similaire lexemple ci-dessous apparat en fin de fichier:
// ======================================================= var id17 = charIDToTypeID( "Mk " ); var desc6 = new ActionDescriptor(); var id18 = charIDToTypeID( "Nw " ); var desc7 = new ActionDescriptor(); var id19 = charIDToTypeID( "Md " ); var id20 = charIDToTypeID( "RGBM" ); [Link]( id19, id20 ); var id21 = charIDToTypeID( "Wdth" ); var id22 = charIDToTypeID( "#Rlt" ); [Link]( id21, id22, 800.000000 ); var id23 = charIDToTypeID( "Hght" ); var id24 = charIDToTypeID( "#Rlt" ); [Link]( id23, id24, 800.000000 ); var id25 = charIDToTypeID( "Rslt" ); var id26 = charIDToTypeID( "#Rsl" ); [Link]( id25, id26, 72.000000 ); var id27 = stringIDToTypeID( "pixelScaleFactor" ); [Link]( id27, 1.000000 ); var id28 = charIDToTypeID( "Fl " ); var id29 = charIDToTypeID( "Fl " ); var id30 = charIDToTypeID( "Wht " ); [Link]( id28, id29, id30 ); var id31 = charIDToTypeID( "Dpth" ); [Link]( id31, 8 ); var id32 = stringIDToTypeID( "profile" ); [Link]( id32, "sRGB IEC61966-2.1" ); var id33 = charIDToTypeID( "Dcmn" ); [Link]( id18, id33, desc7 ); executeAction( id17, desc6, [Link] ); // ======================================================= var id34 = charIDToTypeID( "Mk " ); var desc8 = new ActionDescriptor(); var id35 = charIDToTypeID( "Nw " ); var desc9 = new ActionDescriptor(); var id36 = charIDToTypeID( "ClrI" ); var id37 = charIDToTypeID( "MskI" ); var id38 = charIDToTypeID( "MskA" ); [Link]( id36, id37, id38 ); var id39 = charIDToTypeID( "Clr " ); var desc10 = new ActionDescriptor(); var id40 = charIDToTypeID( "Rd " ); [Link]( id40, 255.000000 ); var id41 = charIDToTypeID( "Grn " ); [Link]( id41, 0.000000 ); var id42 = charIDToTypeID( "Bl " ); [Link]( id42, 0.000000 ); var id43 = charIDToTypeID( "RGBC" ); [Link]( id39, id43, desc10 ); var id44 = charIDToTypeID( "Opct" ); [Link]( id44, 50 ); var id45 = charIDToTypeID( "Chnl" ); [Link]( id35, id45, desc9 ); executeAction( id34, desc8, [Link] );

CHAPITRE 4 : Gestionnaire de scripts

Utilisation de lcouteur de scripts pour rechercher des ID dvnements et de classes

83

5. La premire partie reprsente le code permettant dexcuter lvnement NewDocument (Nouveaudocument). La deuxime partie reprsente le code pour lvnement NewChannel (Nouvellecouche). 6. La mthode executeAction pour ces deux actions utilise un argument dont la valeur est dfinie comme Mk (voir id17 et id34). Il sagit de lID dvnement de lactionNew. Cette action a galement besoin de connatre la classe utiliser, lID de classe de lvnement. 7. La mthode putObject identifie la classe laquelle sapplique laction. Le deuxime argument de la mthode putObject nous fournit lID de classe dont nous avons besoin. Dans la premire action, id33 est dfini comme Dcmn, tandis que dans la seconde action, id45 est dfini comme Chnl, soit respectivement nos ID de classes pour Document et pourChannel. 8. Vous pouvez dsormais utiliser ces ID dvnements et de classes afin de configurer une notification dvnement pour les vnements NewDocument et NewChannel partir de vos scripts. Par exemple, dans JavaScript:
var eventFile = new File([Link] + "/Presets/Scripts/Event Scripts Only/[Link]") [Link]("Mk ", eventFile, "Dcmn") [Link]("Mk ", eventFile, "Chnl")

Index
A
actions et scripts, 8 affichage des botes de dialogue, 33 AppleScript conventions, 6 cration, 18 excution, 18 excution de scripts JavaScript partir de, 10 prcisions sur la valeur dunit, 56 Applescript affichage du dictionnaire, 21 Application, objet affichage des botes de dialogue, 33 ciblage, 22 dfini, 12 lien avec linterface utilisateur, 14 rfrencement, 22 utilisation, 34 Art Layer, objet dfini, 12 Art Layer, objet ajout dans un script JavaScript, 25 ajout dans un script VBScript, 24 application de styles, 40 cration, 37 cration dun calque de texte, 41 filtres, 53 lien avec linterface utilisateur, 15 rfrencement, 38 utilisation, 36 automatisation dun flux de production, JavaScript, 60 dfinition de la couche active, 28 lien avec linterface utilisateur, 15 modification du type, 46 types de, 13 utilisation, 46 classes de couleur unie, 52 classes, recherche, 21 collections, indexation VBScript, 11 Color Sampler, objet dfini, 14 lien avec linterface utilisateur, 15 Color, objet dans le DOM, 16 Color, objets application au texte, 64 comparaison, 53 dfinis, 51 dfinition des valeurs hexadcimales, 52 obtention et conversion, 52 solid color, classes, 52 utilisation, 51 Web scuriss, 53 commandes affichage, 21 conventions, 7 commandes paste, 54 conditionnelle, logique, 8 constantes dfinies, 16 recherche, 16, 21 contour slections, 44 texte, 64 conventions, 6 conventions typographiques, 6 copies avec fusion, 55 copy et paste, commandes, 54 copy merged, commande, 55 couches de composante, 13 couches de ton direct, 13 couches de zone masque, 13 couches de zone slectionne, 13 Count Item, objet dfini, 14 lien avec linterface utilisateur, 15

B
bibliothque de types, VBScript, 22 botes de dialogue, contrle, 33

C
calculs, valeurs dunit, 57 calques de texte, 41 Channel, objet activation, 28 dfini, 13

84

Index

85

D
Document Info, objet dfini, 13 lien avec linterface utilisateur, 15 utilisation, 47 Document, objet activation, 26 ajout, 24 dfini, 12 enregistrement, 31 informations sur le document, 47 lien avec linterface utilisateur, 14 manipulation, 35 ouverture, 28 utilisation, 34 valeurs dunit, 58

G
Gestionnaire de scripts dfini, 73 excution de code JavaScript partir de scripts AppleScript, 80 excution de code JavaScript partir de scripts VBScript, 79 objets de scripts, 74 utilisation partir de scripts JavaScript, 75 utilisation partir de scripts VBScript, 76

H
hirarchie, 11 hirarchie dimbrication, 11 History State, objet dfini, 13 lien avec linterface utilisateur, 15 purge, 48 rtablissement, 48 utilisation, 47

E
couteur de scripts dsinstallation, 74 enregistrement de scripts, 74 fichiers journaux, 73 installation, 73 recherche dID dvnements, 81 recherche dID de classes, 81 Editeur de scripts utilisation, 18 enregistrement des documents, 31 EPS open options, objet valeurs dunit, 58 tats dhistorique dfinis, 47 extensions de fichier fichiers de script, 9

I
ID dvnements, recherche avec lcouteur de scripts, 81 ID de classes, recherche avec lcouteur de scripts, 81 images, modification de la composition, 12

J
JavaScript conventions, 6 cration, 19 excution, 10, 19 excution partir de scripts Applescript, 10 excution partir de scripts VBScript, 10 exemple dautomatisation dun flux de production, 60 prise en charge, 10 utilisation du Gestionnaire de scripts, 75

F
fichiers dduction du format, 28 dfinition du format, 29 enregistrement, 31 ouverture, 28 ouverture en utilisant des paramtres spcifiques, 29 filtres application du filtre Flou directionnel, 71 application du filtre Onde, 6670 rendre excutable sous forme de script, 74 supplmentaires, 54 utilisation, 53 flou directionnel, dfinition, 71

L
langages de script exemple de scripts, 17 pris en charge, 9 Layer Set, objet dfini, 12 Layer Comp, objet dfini, 13

Index

86

lien avec linterface utilisateur, 15 Layer Set, objet cration, 38 lien avec linterface utilisateur, 15 utilisation, 36, 39 Layer, classes, 12 Layer, objets activation, 27 ajout, 25 application de styles, 40 cration, 37 dfinis, 12 dfinition du type, 41 liaison, 40 rfrencement, 38 test pour calques de texte, 41 utilisation, 36 lens flare open options, objet valeurs dunit, 58 Les, 54 logique conditionnelle, 8

O
objets Voir aussi le nom de chaque objet activation, 25 affichage, 21 cration dans un script, 2325 hirarchie, 11 modle dobjet dAdobe Photoshop, 11 objets actifs, dfinition, 25 offset filter, objet valeurs dunit, 58 Onde, application du filtre, 6670 Open options, classes, 16

P
parent, objets dfinis, 26 Path Item, objet lien avec linterface utilisateur, 15 Path Item, objet cration dune ligne droite, 49 dfini, 14 Path Point, objet dfini, 14 PDF open options, objet valeurs dunit, 58 prfrences dfinition, 32 utilisation, 61 Preferences, objet dfini, 14 lien avec linterface utilisateur, 15 Presse-papiers, commandes, 54 proprits conventions, 7 recherche, 21

M
Measurement Scale, objet dfini, 14 lien avec linterface utilisateur, 15 mtadonnes, dfinies, 15 mthodes affichage, 21 conventions, 7 modle dobjet concepts, 11 utilisation, 33 modle dobjet dAdobe Photoshop, 11, 33 modle dobjet de document (DOM), Voir modle dobjet modle dobjet de Photoshop, 11

R N
notification dvnement, paramtrage, 48 Notifier, objet dfini, 14 lien avec linterface utilisateur, 15 recherche dID dvnements, 81 recherche dID de classes, 81 utilisation, 48 rgle, units dfinies, 56 dfinition, 59 utilisation de la valeur, 57 valeurs, 56

S
Save options, classes, 16 script Hello World, 1720 scripts avancs, 60 cration, 60

Index

87

cration dobjets, 2325 dfinis, 8 dmarrage, 10 emplacements du fichier, 10 enregistrement, 74 et actions, 8 excution, 10 extensions de fichier valides, 9 fonctionnalit, 9 fonctions, 8 utilisation, 73 scripts de dmarrage, 10 Scripts, panneau, 73 Selection, objet chargement, 45 contour, 44 contour progressif, 44 cration, 43 dfini, 13 dfinition de la zone, 67 inversion, 44 lien avec linterface utilisateur, 14 redimensionnement, 44 remplissage, 45 restauration, 46 stockage, 45 utilisation, 42 styles, application aux calques, 40 Sub Path Item, objet dfini, 14

U
units comme paramtres, 58 comme proprits, 57 dans les arguments, 58 dans les oprations, 57 dfinition, 59 prcisions pour AppleScript, 56 types spciaux, 56 utilisation, 56 utilisation de la valeur, 57 valeurs, 56 units de mesure prfrences document, 61 utilisation, 56

V
valeurs chromatiques hexadcimales, dfinition, 52 valeurs numres recherche, 21 VBScript bibliothque de types, 22 conventions, 6 cration, 19 excution, 19 excution de scripts JavaScript partir de, 10 utilisation du Gestionnaire de scripts, 76

W T
Text Item, objet cration, 41 dfini, 12 mise en forme de texte, 42 utilisation, 41 valeurs dunit, 58 texte application de couleur, 64 calques, 41 contour, 64 mise en forme, 42 texte, units dfinies, 56 dfinition, 59 tracs, cration, 49 types de valeurs constantes, 16 web safe color, 53

Vous aimerez peut-être aussi