Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
2008 Adobe Systems Incorporated. Tous droits rservs. Guide des scripts Photoshop Adobe Creative Suite 4 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 Mac OS 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 Systems Inc. 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., 345 Park Avenue, San Jose, Californie 95110, Etats-Unis.
Scripts Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Affichage des objets, commandes et mthodes Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Affichage du dictionnaire AppleScript de Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Affichage de la bibliothque de types de Photoshop (VBS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Ciblage et rfrencement de lobjet Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Cration dobjets dans un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Dfinition de lobjet actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Dfinition du document actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3
Dfinition du calque actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Dfinition des couches actives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Ouverture dun document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Ouverture dun fichier avec le format de fichier par dfaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Dfinition des formats de fichier ouvrir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Enregistrement dun document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Dfinition des prfrences de lapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Autorisation ou refus douverture de botes de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 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 Layer Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rfrencement des objets ArtLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets Layer Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Text Item . . . . . . . . . . . . . . . . . . . . . . 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 history state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets Notifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de lobjet PathItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des objets de couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Classes de couleur unie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des valeurs hexadcimales pour les couleurs RVB . . . . . . . . . . . . . . . . . Obtention et conversion de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparaison des couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Obtention dune couleur Web scurise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 35 36 36 38 38 39 40 41 41 42 43 43 44 45 45 46 47 47 47 48 49 49 49 50 51 52 54 54 55 55 56 56
Utilisation de filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Filtres divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Prsentation de linteraction avec le Presse-papiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Utilisation des commandes copy et paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Utilisation de la commande/mthode copy merged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Utilisation des units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Valeurs dunit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Types de valeurs dunit spciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59 60 61 62 64 64 67 71 71 75
Gestionnaire de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Module externe Ecouteur de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Installation de lcouteur de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Objets du gestionnaire de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Enregistrement dun script laide de lcouteur de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Utilisation du gestionnaire de scripts partir dun script JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Utilisation du gestionnaire de scripts partir dun script VBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Excution de code du gestionnaire de scripts JavaScript partir dun script VBScript . . . . . . . . . . 83 Excution de code du gestionnaire de scripts JavaScript partir dun script AppleScript . . . . . . . 84 Utilisation de lcouteur de scripts pour rechercher des ID dvnements et de classes . . . . . . . . 85
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Introduction
A propos de ce manuel
Ce manuel propose une introduction aux scripts pour Adobe Photoshop CS4 sous Mac OS et Windows. Le chapitre 1 traite des conventions de base utilises dans ce manuel. Le chapitre 2 prsente brivement les scripts, notamment comment les excuter, ainsi que le modle dobjet de Photoshop. Le chapitre 3 expose les lments et objets spcifiques Photoshop et dcrit des techniques de script avances pour lapplication Photoshop. Des exemples de code sont fournis dans trois langages :
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 de Photoshop , page 22 et Affichage de la bibliothque de types de Photoshop (VBS) , page 23). Pour plus de dtails sur lutilisation de lafficheur modles dobjets Extend Script, consultez le JavaScript Tools Guide (Guide des outils JavaScript). Le chapitre 4 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.
Plusieurs conventions sont utilises lorsquil est fait rfrence AppleScript, VBScript et JavaScript. Gardez lesprit les abrviations suivantes :
Le terme commandes est utilis pour faire rfrence la fois aux commandes en AppleScript et aux mthodes en VBScript et JavaScript.
CHAPITRE 1 : Introduction
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
appRef.ActiveDocument.LayerSets(1).Layers(1)
JS
app.activeDocument.layerSets[0].layers[0]
Enfin, des tableaux sont parfois utiliss pour organiser des listes de valeurs spcifiques chaque langage.
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 chapitre 3, Scripts Photoshop , page 22. Pour plus de dtails sur les objets et commandes Photoshop, utilisez les informations de rfrence contenues dans les trois manuels fournis avec cette installation : Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4, Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 et Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4.
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 22).
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 2 x 4 pouces, 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 Adobe Creative Suite 4, comme Adobe Illustrator CS4, 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 actions Photoshop.
(none)
.js .jsx .vbs .exe
10
Scripts de dmarrage
Pendant son lancement, Photoshop excute tous les fichiers .jsx 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 CS4\Adobe Photoshop
Sous Mac OS, le dossier de dmarrage des scripts dfinis par lutilisateur est le suivant :
~/Library/Application Support/Adobe/Startup Scripts CS4/Adobe Photoshop
11
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 Suite 3 au dmarrage. Si un script de ce type doit tre excut uniquement par Photoshop, il doit comporter les lignes de code suivantes :
if( BridgeTalk.appName == "photoshop" ) { //continue executing script }
Pour plus de dtails, consultez le JavaScript Tools Guide (Guide des outils JavaScript).
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 collection Documents. La collection Documents contient des objets Document. Un objet Document contient une collection ArtLayers, une collection HistoryStates, une collection Layers, une collection Layersets et une collection Channels. 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 DOM Photoshop. 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
12
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 de 1 et non de 0 ( la diffrence dautres groupes VBScript, qui commencent lindexation partir de 0).
.
Application
Notifier
Document
Preferences
Selection
Channel
Layer Comp
Count Item
Color Sampler
Measurement Scale
Document Info
History State
Path Item
Art Layer
Layer Set
Layer Set
Art Layer
13
Classes Layer
Photoshop possde deux types de calques : un calque Art Layer qui comporte un contenu dimage et un groupe Layer Set 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 Layer Set. 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 Text Item 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 43. 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 38.
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 49.
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 45.
14
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 64).
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 Open Application. Pour plus de dtails sur les notifications, reportez-vous la section Utilisation des objets Notifier , page 51.
15
Description Application Photoshop. Objet utilis, dans lequel vous crez des 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. 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.
Selection
Choisissez loutil Rectangle de slection ou Lasso et faites glisser la souris. 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 Calque > Nouveau > Groupe.
Path Item
Layer Set
Layer Comp
Choisissez Fentre > Compositions de calques. Slectionnez ensuite licne de composition de calques.
16
Description 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. Notifie un script quun vnement se produit, cet vnement dclenchant ensuite lexcution du script. Par exemple, lorsquun utilisateur clique sur le bouton OK, lobjet notifier indique au script ce quil doit faire. Paramtres de prfrences de lapplication.
Pour crer cet objet sans utiliser de script Choisissez Fichier > Informations.
Notifier
Preferences
Choisissez Edition > Prfrences sous Windows, ou Photoshop > Prfrences sous Mac OS.
History State
Stocke une version du document dans ltat o Choisissez Fentre > Historique, puis il se trouvait chaque fois que vous lavez slectionnez un tat dhistorique dans enregistr. le panneau Historique. REMARQUE : vous pouvez utiliser un objet
History State pour remplir un objet Selection ou pour rtablir un tat antrieur
du document. Color Sampler Reprsente un chantillonnage de couleur dans votre document. Count Item Reprsente un lment compt dans le document. Choisissez loutil Echantillonnage de couleur, puis cliquez dans le document. Choisissez loutil Comptage, puis cliquez dans le document. Lobjet Measurement Scale ne peut pas tre cr, mais vous pouvez modifier ses proprits en choisissant une chelle de mesure personnalise pour lanalyse.
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 54).
17
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 30 et Enregistrement dun document , page 32).
Constantes
Les constantes constituent un lment supplmentaire important du modle dobjet de Photoshop pour les langages JavaScript et VBScript. 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 :
newLayerRef.Kind = 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, consultez lobjet ArtLayer soit dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4, soit dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4. 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 Art Layer.
18
Application
Document
Art Layer
Text Item
19
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.
20
2. Enregistrez le fichier en tant que fichier texte, avec lextension .vbs. 3. Cliquez deux fois sur ce fichier dans lExplorateur de Windows pour excuter le script. Le script ouvre Photoshop.
21
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 = preferences.rulerUnits preferences.rulerUnits = Units.INCHES // Create a new 2x4 inch document and assign it to a variable var docRef = app.documents.add( 2, 4 ) // Create a new art layer containing text var artLayerRef = docRef.artLayers.add() artLayerRef.kind = LayerKind.TEXT // Set the contents of the text layer. var textItemRef = artLayerRef.textItem textItemRef.contents = "Hello, World" // Release references docRef = null artLayerRef = null textItemRef = null // Restore original ruler unit setting app.preferences.rulerUnits = originalUnit
2. Enregistrez un fichier sous forme de fichier texte avec une extension de nom de fichier .jsx dans le dossier Paramtres prdfinis/Scripts de votre rpertoire Adobe Photoshop CS4. REMARQUE : vous devez placer vos scripts JavaScript dans le dossier Paramtres prdfinis/Scripts afin de les rendre accessibles partir du menu Fichier > Scripts dans Photoshop. Les scripts apparatront dans le menu Fichier > Scripts la session suivante. REMARQUE : Photoshop prend galement en charge les fichiers JavaScript qui portent une extension .js. 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 menu Scripts.
Scripts Photoshop
Ce chapitre prsente plusieurs techniques pour utiliser le modle dobjet de document de Photoshop (DOM) pour crer des scripts utiliser spcifiquement avec Photoshop. 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 pour Photoshop. 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 scripts Photoshop.
Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4
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 de Photoshop. Pour VBScript, utilisez lditeur VBA de Microsoft Word, lexplorateur dobjets Visual Basic de Visual Basic ou Visual Studio. Pour JavaScript, utilisez lafficheur de modles dobjets ExtendScript. Consultez le JavaScript Tools Guide (Guide des outils JavaScript) pour plus de dtails.
22
23
2. Slectionnez Adobe Photoshop CS4, 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. REMARQUE : le dictionnaire AppleScript de Photoshop naffiche pas la liste complte de formats douverture et denregistrement.
24
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("Photoshop.Application")
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 = app.documents[1]
et
var docRef=documents[1]
AS : VBS : JS :
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 art layers. Reportez-vous au guide Introduction to Scripting (Introduction aux scripts) pour plus de dtails sur les lments et collections. 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
Recherchez les commandes make et set dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop (voir la section Affichage du dictionnaire AppleScript de Photoshop , page 22). Pour savoir quelles commandes peuvent tre utilises avec un objet, recherchez lobjet dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4. 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 :
appRef.Document.Add()
Vous devez utiliser le nom de la collection, soit la forme plurielle du nom de lobjet, comme suit :
appRef.Documents.Add()
26
REMARQUE : dans cet exemple, lobjet Application est rfrenc via une variable nomme appRef (voir la section Ciblage et rfrencement de lobjet Application , page 24 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.
appRef.Documents(1).ArtLayers.Add()
REMARQUE : dans Photoshop, les collections VBScript sont indexes partir de 1 et non de 0, ce qui signifie que le premier document cr prend lindice 1 et non lindice 0. Si vous recherchez lobjet Document dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 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 de rfrence pour les scripts Visual Basic Adobe Photoshop CS4. 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 :
documents.add()
et non :
document.add()
REMARQUE : vous pouvez si vous le souhaitez inclure une rfrence lobjet Application. Linstruction suivante est quivalente lexemple prcdent :
app.documents.add()
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 lobjet Document.
documents[0].artLayers.add()
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 de rfrence pour les scripts JavaScript Adobe Photoshop CS4.
27
En AppleScript, utilisez la proprit current de lobjet parent. En VBScript, utilisez la proprit ActiveObject de lobjet parent (comme ActiveDocument ou ActiveLayer). En JavaScript, utilisez la proprit activeObject de lobjet parent (comme activeDocument ou activeLayer).
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 de rfrence pour les scripts JavaScript Adobe Photoshop CS4, ou dans lafficheur de modles dobjets ExtendScript, vous trouvez 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 de rfrence pour les scripts AppleScript Adobe Photoshop CS4, ou dans le dictionnaire AppleScript de Photoshop, vous le trouvez comme proprit de current, etc. Pour des exemples de scripts dfinissant des objets actifs, reportez-vous aux sections suivantes :
Dfinition du document actif , page 27 Dfinition du calque actif , page 28 Dfinition des couches actives , page 29
28
VBS
'Create 2 documents Set docRef = app.Documents.Add ( 4, 4) Set otherDocRef = app.Documents.Add (4,6) 'make docRef the active document Set app.ActiveDocument = 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 app.ActiveDocument = otherDocRef
JS
// Create 2 documents var docRef = app.documents.add( 4, 4) var otherDocRef = app.documents.add (4,6) //make docRef the active document app.activeDocument = 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 app.activeDocument = otherDocRef
REMARQUE : par dfaut, Photoshop attribue les noms Calque 1, Calque 2, 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. appRef.ActiveDocument = docRef docRef.ActiveLayer = docRef.Layers(1)
Recherchez la proprit ActiveLayer sur lobjet Document dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic. REMARQUE : vous pouvez galement indiquer le calque utiliser par son nom. Par dfaut, Photoshop attribue les noms Calque 1, Calque 2, etc., aux calques (voir la section Rfrencement des objets ArtLayer , page 40).
29
JS
// This example assumes docRef has been previously defined and assigned to a // document object that contains at least one layer. activeDocument = docRef docRef.activeLayer = docRef.layers[0]
Recherchez la proprit activeLayer sur lobjet Document dans le Guide de rfrence pour les scripts Javascript Adobe Photoshop CS4 ou dans lafficheur de modles dobjets ExtendScript. REMARQUE : vous pouvez galement indiquer le calque utiliser par son nom. Par dfaut, Photoshop attribue les noms Calque 1, Calque 2, etc., aux calques (voir la section Rfrencement des objets ArtLayer , page 40).
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(docRef.Channels(1), docRef.Channels(3)) docRef.ActiveChannels = theChannels
Vous pouvez galement slectionner toutes les couches de composante laide de la proprit ComponentChannels de lobjet Document.
appRef.ActiveDocument.ActiveChannels= _ appRef.ActiveDocument.ComponentChannels
JS
Dfinissez comme couches actives les premire et troisime couches laide dun tableau de couches :
theChannels = new Array(docRef.channels[0], docRef.channels[2]) docRef.activeChannels = theChannels
Vous pouvez galement slectionner toutes les couches de composante laide de la proprit componentChannels de lobjet Document.
app.activeDocument.activeChannels = activeDocument.componentChannels
30
En JavaScript, vous devez crer un objet File, puis transmettre la commande open() une rfrence lobjet.
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.).
31
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 de rfrence pour les scripts AppleScript Adobe Photoshop CS4, recherchez la classe Photo CD open options ou la classe EPS open objects. Dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4, recherchez les objets PhotoCDOpenOptions ou EPSOpenOptions.
Les exemples suivants montrent comment ouvrir un document PDF gnrique (multiplage/multi-image) avec les spcifications suivantes :
Le document souvre en modeRVB avec une rsolution de 72ppp. Un lissage sera appliqu afin de minimiser laspect crnel du contour des images du document. Le document souvrira la page 3. 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 CS4" set myFilePath to alias "OS X 10.4.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("Photoshop.Application") 'Remember unit settings and set to values expected by this script Dim originalRulerUnits originalRulerUnits = appRef.Preferences.RulerUnits appRef.Preferences.RulerUnits = 1 'value of 1 = psPixels 'Create a PDF option object Dim pdfOpenOptionsRef Set pdfOpenOptionsRef = CreateObject("Photoshop.PDFOpenOptions") pdfOpenOptionsRef.AntiAlias = True pdfOpenOptionsRef.Mode = 2 ' psOpenRGB pdfOpenOptionsRef.Resolution = 72 pdfOpenOptionsRef.Page = 3 ' open the file Dim docRef Set docRef = appRef.Open(C:\\PDFFiles\MyFile.pdf, pdfOpenOptionsRef) 'Restore unit setting appRef.Preferences.RulerUnits = 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.
32
// Set the ruler units to pixels var originalRulerUnits = app.preferences.rulerUnits app.preferences.rulerUnits = Units.PIXELS // Get a reference to the file that we want to open var fileRef = new File(/c/pdffiles/myfile.pdf) // Create a PDF option object var pdfOpenOptions = new PDFOpenOptions pdfOpenOptions.antiAlias = true pdfOpenOptions.mode = OpenDocumentMode.RGB pdfOpenOptions.resolution = 72 pdfOpenOptions.page = 3 // open the file app.open( fileRef, pdfOpenOptions ) // restore unit settings app.preferences.rulerUnits = originalRulerUnits
Dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4, recherchez la classe EPS save options. Dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4, recherchez EPSSaveOptions. Classes denregistrement
Save Options
Photoshop
BMP
GIF
EPS
JPEG
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 30 titre de comparaison). REMARQUE : les formats facultatifs suivants sont disponibles uniquement lorsquils sont installs explicitement :
33
VBS
JS
app.documents.add( 4, 4 ) jpgFile = new File( "/Temp001.jpeg" ) jpgSaveOptions = new JPEGSaveOptions() jpgSaveOptions.embedColorProfile = true jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE jpgSaveOptions.matte = MatteType.NONE jpgSaveOptions.quality = 1 app.activeDocument.saveAs(jpgFile, jpgSaveOptions, true, Extension.LOWERCASE)
34
Dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 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.
appRef.Preferences.RulerUnits = 2 'for PsUnits --> 2 (psInches) appRef.Preferences.TypeUnits = 1 'for PsTypeUnits --> 1 (psPixels)
Dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 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 lobjet Application. JS Lobjet Preferences est une proprit de lobjet Application.
preferences.rulerUnits = Units.INCHES preferences.typeUnits = TypeUnits.PIXELS
Dans le Guide de rfrence pour les scripts Javascript Adobe Photoshop CS4 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 lobjet Application.
35
AS
Dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop, recherchez la Class 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.
appRef.DisplayDialogs = 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 de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 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 = DialogModes.NO
Dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 ou dans lafficheur de modles dobjets ExtendScript, recherchez la proprit displayDialogs de lobjet Application, puis recherchez la constante DialogModes.
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 34). Documents : vous pouvez ajouter ou ouvrir des documents et dfinir le document actif(voir les sections Ouverture dun document , page 30 et Dfinition de lobjet actif , page 26). Actions : vous pouvez excuter des actions cres soit par lcriture de scripts, soit en utilisant le panneau Scripts de lapplication Photoshop (voir la section Gestionnaire de scripts , page 77).
36
Vous pouvez utiliser les proprits de lobjet Application pour obtenir des informations, notamment :
AS : dfinissez theFonts sur fonts REMARQUE : en AppleScript, fonts est une collection spare, qui ne requiert pas de rfrence lobjet application pour tre rcupre.
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.
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 36 pour obtenir une dmonstration). Rcupration du calque actif (voir la section Dfinition du calque actif , page 28). Enregistrement du document actif (voir la section Enregistrement dun document , page 32). Oprations de copier-coller dans le document actif ou entre plusieurs documents (voir la section Prsentation de linteraction avec le Presse-papiers , page 57).
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 Ducky.tif ) Modification de la taille de limage 4 pouces de large sur 4 pouces de haut (10 cm x 10 cm) Modification de la taille de la fentre de document (ou zone de travail) 4 pouces de large sur 4 pouces de haut (10 cm x 10 cm)
37
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 34 pour plus de dtails sur les units de mesure des rgles. AS
tell application "Adobe Photoshop CS4" set saveUnit to ruler units of settings set ruler units of settings to inch units set duckFile to alias "OS X 10.4.8 US:Applications:Adobe Photoshop CS4:Samples:Ducky.tif" 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("Photoshop.Application") 'save original ruler units, then set ruler units to inches startRulerUnits = appRef.Preferences.RulerUnits appRef.Preferences.RulerUnits = 2 'for PsUnits --> 2 (psInches) Set docRef = appRef.Open(appRef.Path & "\Samples\Ducky.tif") docRef.ResizeImage 4,4 docRef.ResizeCanvas 4,4 'Trim the document with ' type = 1 (psTopLeftPixel) ' top=true, left=false, bottom=true, right=false docRef.Trim 1,True,False,True,False 'the crop command uses unit values 'so change the ruler units to pixels appRef.Preferences.RulerUnits = 1 ' (psPixels) 'Crop the document with ' angle=45, width=20,height=20 docRef.Crop Array(100,200,400,500),45,20,20 docRef.FlipCanvas 1 ' psHorizontal 'restore ruler units appRef.Preferences.RulerUnits = startRulerUnits
VBS
38
JS
//save original ruler units, then assign it to inches startRulerUnits = app.preferences.rulerUnits app.preferences.rulerUnits = Units.INCHES //get a reference to the file, and open it var fileRef = new File(app.path + "/samples/ducky.tif") var docRef = app.open(fileRef) //this sample script assumes the ruler units have been set to inches docRef.resizeImage( 4,4 ) docRef.resizeCanvas( 4,4 ) docRef.trim(TrimType.TOPLEFT, true, false, true, false) //the crop command uses unit values //so change the ruler units to pixels app.preferences.rulerUnits =Units.PIXELS docRef.crop (new Array(100,200,400,500), 45, 20, 20) docRef.flipCanvas(Direction.HORIZONTAL) //restore original preferences app.preferences.rulerUnits = startRulerUnits
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().
39
VBS
Dim appRef Set appRef = CreateObject("Photoshop.Application") ' Create a new art layer at the beginning of the current document Dim docRef Dim layerObj Set docRef = appRef.Documents.Add() Set layerObj = appRef.ActiveDocument.ArtLayers.Add layerObj.Name = "MyBlendLayer" layerObj.BlendMode = 2 'psNormalBlend ' Select all so we can apply a fill to the selection appRef.ActiveDocument.Selection.SelectAll ' Create a color to be used with the fill command Dim colorObj Set colorObj = CreateObject("Photoshop.SolidColor") colorObj.RGB.Red = 255 colorObj.RGB.Green = 0 colorObj.RGB.Blue = 0 ' Now apply fill to the current selection appRef.ActiveDocument.Selection.Fill colorObj
JS
//make a new document app.documents.add() // Create a new art layer at the beginning of the current document var layerRef = app.activeDocument.artLayers.add() layerRef.name = "MyBlendLayer" layerRef.blendMode = BlendMode.NORMAL // Select all so we can apply a fill to the selection app.activeDocument.selection.selectAll // Create a color to be used with the fill command var colorRef = new solidColor colorRef.rgb.red = 255 colorRef.rgb.green = 100 colorRef.rgb.blue = 0 // Now apply fill to the current selection app.activeDocument.selection.fill(colorRef)
40
VBS
Dim appRef Set appRef = CreateObject("Photoshop.Application") 'Make a new document and a first layer in the document appRef.Documents.Add() appRef.ActiveDocument.ArtLayers.Add() ' Get a reference to the first layer in the document Dim layerRef Set layerRef = appRef.ActiveDocument.Layers(1) ' Create a new LayerSet (it will be created at the beginning of the document) Dim newLayerSetRef Set newLayerSetRef = appRef.ActiveDocument.LayerSets.Add ' Move the new layer to after the first layer newLayerSetRef.Move layerRef, 4 'psPlaceAfter
JS
// make a new document and a layer in the document app.documents.add() app.activeDocument.artLayers.add() // Get a reference to the first layer in the document var layerRef = app.activeDocument.layers[0] // Create a new LayerSet (it will be created at the beginning of the // document) var newLayerSetRef = app.activeDocument.layerSets.add() // Move the new layer to after the first layer newLayerSetRef.move(layerRef, ElementPlacement.PLACEAFTER)
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 to a reference to file. VBS JS
Layers("Layer 3").name layers["Layer 3"].name //using the collection name and square brackets for the collection
41
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
JS
Recherchez la commande link dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop.
42
VBS
Recherchez Link comme mthode de lobjet ArtLayer dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic. Recherchez galement Add comme mthode de lobjet ArtLayers. JS
var layerRef1 = docRef.artLayers.add() var layerRef2 = docRef.artLayers.add() layerRef1.link(layerRef2)
Recherchez link() comme mthode de lobjet ArtLayer dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 ou dans lafficheur de modles dobjets ExtendScript. Recherchez galement Add() comme mthode de lobjet ArtLayers.
Recherchez la commande apply layer style dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop. VBS
docRef.ArtLayers("L1").ApplyStyle "Puzzle (Image)"
Recherchez ApplyStyle comme mthode de lobjet ArtLayer dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic. JS
docRef.artLayers["L1"].applyStyle("Puzzle (Image)")
Recherchez applyStyle() comme mthode de lobjet ArtLayer dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 ou dans lafficheur de modles dobjets ExtendScript.
43
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 de rfrence pour les scripts Visual Basic Adobe Photoshop CS4, dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 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 de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop.
VBS
JS
44
VBS
JS
var textLayerRef = docRef.artLayers.add() textLayerRef.name = "my text" textLayerRef.kind = LayerKind.TEXT var textItemRef = docRef.artLayers["my text"].textItem textItemRef.contents = "Hello, World!" textItemRef.justification = Justification.RIGHT
REMARQUE : lobjet text-object (TextItem/TextItem) possde une proprit kind Kind/kind) qui peut tre dfinie soit sur point text (psPointText/TextType.POINTTEXT ), soit sur paragraph text (psParagraphText/TextType.PARAGRAPHTEXT.). Lorsquun nouvel objet text-object est cr, sa proprit kind est automatiquement dfinie sur point text. Les proprits height, width et leading de lobjet text-object sont autorises uniquement si la proprit kind du texte est dfinie sur paragraph text. 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 de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop, recherchez les proprits et les mthodes text-object. Dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 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 de rfrence pour les scripts JavaScript Adobe Photoshop CS4 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.
45
Dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop, recherchez la commande select. Recherchez galement la proprit selection de lobjet Document et lobjet selection-object. Dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic, recherchez Selection comme proprit de lobjet Document. Recherchez galement Select comme mthode de lobjet Selection. Dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 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.
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 laxe x = 0 et laxe y = 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 1000 x 1000 pixels, les coordonnes du coin infrieur droit sont axe x = 1000 et axe y = 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 500 x 500 pixels. 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.
46
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 = appRef.Documents.Add ShapeRef = Array(Array(0, 0), Array(0, 100), Array(100,100), Array(100,0)) docRef.Selection.Select ShapeRef var docRef = app.documents.add(500, 500) var shapeRef = [ [0,0], [0,100], [100,100], [100,0] ] docRef.selection.select(shapeRef)
VBS
JS
VBS
JS
47
AS : VBS : JS :
VBS
JS
VBS
48
JS
var fillColor = new SolidColor() fillColor.rgb.red = 255 fillColor.rgb.green = 0 fillColor.rgb.blue = 0 app.activeDocument.selection.fill( fillColor, ColorBlendMode.VIVIDLIGHT, 25, false)
Pour remplir la slection courante avec le dixime lment de ltat dhistorique : REMARQUE : reportez-vous la section Utilisation des objets history state , page 50 pour plus de dtails sur les objets History State. AS VBS JS
fill selection of current document with contents history state 10 of current document selRef.Fill docRef.HistoryStates(10) selRef.fill(app.activeDocument.historyStates[9])
VBS
JS
var chanRef = docRef.channels.add() chanRef.name = "My Channel" chanRef.kind = ChannelType.SELECTEDAREA docRef.selection.store(docRef.channels["My Channel"], SelectionType.EXTEND)
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 selRef.Load docRef.Channels("My Channel"), 2 'PsSelectionType is 2 (psExtendSelection)
VBS
49
JS
Reportez-vous la section Prsentation de linteraction avec le Presse-papiers , page 57 pour savoir comment copier, couper et coller des slections.
VBS
Set docInfoRef = docRef.Info docInfoRef.Copyrighted = 1 'for psCopyrightedWork docInfoRef.OwnerUrl = "http://www.adobe.com" docInfoRef = docRef.info docInfoRef.copyrighted = CopyrightedType.COPYRIGHTEDWORK docInfoRef.ownerUrl = "http://www.adobe.com"
JS
50
Recherchez les lments suivants pour plus de dtails sur les autres types dinformations (proprits) que vous pouvez associer un document :
Dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop, recherchez les proprits et mthodes pour la classe info-object. Dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4, le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4, lexplorateur dobjets Visual Basic ou lafficheur de modles dobjets ExtendScript, recherchez les proprits pour lobjet DocumentInfo.
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 History States, comme indiqu ci-dessous :
AS : VBS : JS :
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 = docRef.ActiveHistoryState docRef.ArtLayers(1).ApplyMotionBlur 20, 20 docRef.ActiveHistoryState = savedState savedState = docRef.activeHistoryState docRef.artLayers[0].applyMotionBlur( 20, 20 ) docRef.activeHistoryState = savedState
VBS
JS
51
VBS
JS
app.notifiersEnabled = true var eventFile = new File(app.path + "/Presets/Scripts/Event Scripts Only/Welcome.jsx") app.notifiers.add("Opn ", eventFile)
52
VBS
Dim appRef, docRef Dim lineArray(1), lineArray2(1), lineSubPathArray(0), myPathItem Set appRef = CreateObject("Photoshop.Application") ' create a document to work with Set docRef = appRef.Documents.Add(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("Photoshop.PathPointInfo") 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("Photoshop.PathPointInfo") lineArray(1).Kind = 2 lineArray(1).Anchor = Array(150, 200) lineArray(1).LeftDirection = lineArray(1).Anchor lineArray(1).RightDirection = lineArray(1).Anchor
53
'Next create a SubPathInfo object, which will hold the line array 'in its EntireSubPath property. Set lineSubPathArray(0) = CreateObject("Photoshop.SubPathInfo") 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 = docRef.PathItems.Add("A Line", lineSubPathArray) ' stroke it so we can see something myPathItem.StrokePath(2) 'for PsToolType --> 2 (psBrush)
JS
// create a document to work with var docRef = app.documents.add(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 = PointKind.CORNERPOINT 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 = PointKind.CORNERPOINT lineArray[1].anchor = Array(150, 200) lineArray[1].leftDirection = lineArray[1].anchor lineArray[1].rightDirection = lineArray[1].anchor // 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 = ShapeOperation.SHAPEXOR 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 = docRef.pathItems.add("A Line", lineSubPathArray); // stroke it so we can see something myPathItem.strokePath(ToolType.BRUSH)
54
JS
RGB Color
CMYK Color
Gray Color
HSB Color
Lab Color
No Color
55
Recherchez les lments suivants dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop.
Proprit foreground color de la classe application (section Objets) Proprit convert (section Commandes)
VBS
Le script suivant utilise une instruction If Then et la proprit model de lobjet SolidColor pour dterminer le modle de couleur utilis. Linstruction If Then renvoie un objet SolidColor ; si elle renvoie un objet RGB, la proprit cmyk de lobjet SolidColor vous permet alors daccder la couleur avec son quivalent CMJN.
Dim someColor If (someColor.model = 2) Then someColor.cmyk 'someColor.model = 2 indicates psColorModel --> 2 (psRGBModel) End If
Recherchez les lments suivants dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic :
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 = foregroundColor.cmyk
Recherchez les lments suivants dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 ou dans lafficheur de modles dobjets ExtendScript.
cmyk comme proprit de lobjet SolidColor foregroundColor comme proprit de lobjet Application
Utilisation de filtres
56
AS : VBS : JS :
if equal colors foreground color with background color then If (appRef.ForegroundColor.IsEqual(appRef.BackgroundColor)) Then if (app.foregroundColor.isEqual(backgroundColor))
Utilisation de filtres
Pour appliquer un filtre en AppleScript, vous utilisez la commande filter avec une option de la classe filter options. En VBScript et JavaScript, vous devez utiliser une mthode de filtrage spcifique. Par exemple, pour appliquer un filtre Flou gaussien, 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 de Photoshop. Les exemples suivants appliquent le filtre Flou gaussien au calque actif : 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 de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop, recherchez la commande filter ainsi que la classe filter options. VBS
appRef.docRef.ActiveLayer.ApplyGaussianBlur 5
REMARQUE : dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic, recherchez la mthode ApplyGaussianBlur et dautres mthodes de lobjet ArtLayer dont le nom commence par Apply . JS
docRef.activeLayer.applyGaussianBlur(5)
57
REMARQUE : dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 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 77, ainsi qu la section Excution de scripts JavaScript partir dAS ou de VBS , page 11.
REMARQUE : pour plus de dtails sur les fonctions Copier, Copier avec fusion, Coller, Coller dedans et Couper, consultez lAide de Photoshop.
58
AS
REMARQUE : sous Mac OS, 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 CS4" 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 = appRef.ActiveDocument docRef.ArtLayers("Background").Copy Set newDocRef = appRef.Documents.Add(8, 6, 72, "New Doc") newDocRef.Paste
JS
//make firstDocument the active document var docRef = app.activeDocument docRef.artLayers["Background"].copy() var newDocRef = app.documents.add(8, 6, 72, "New Doc") newDocRef.paste()
VBS
docRef.Selection.Copy True
Recherchez la mthode Copy pour les objets ArtLayer et Selection dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic. JS
docRef.selection.copy(true)
Recherchez la mthode Copy() pour les objets ArtLayer et Selection dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 ou dans lafficheur de modles dobjets ExtendScript.
59
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 loutil Texte. 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 et rgles sous Mac OS ou Edition > Prfrences > Units et rgles sous Windows.
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 3 x 3 pouces :
docRef.ResizeImage 3,3
Si lunit de la rgle est dfinie sur pixels, le document sera de 3 x 3 pixels. 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 62 pour obtenir des explications sur la dfinition des units. Pour plus de dtails sur les types de valeurs dunit disponibles, consultez lAide de Photoshop.
60
Par exemple, pour crer un document de 4 pouces de large sur 5 pouces de haut, vous pouvez crire :
make new document with properties {width:inches 4, height:inches 5}
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 5 pouces 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 de 360 (5 pouces x 72 ppp). Les types dunits points et picas sont des points PostScript, de 72 ppp. Les types dunit traditional points et traditional picas reposent sur des valeurs classiques de dfinition de texte, de 72,27 points par pouce. 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 1 pouce, soit 72 points 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 en cm ou mm. Ces types dunits ne sont pas reconnus par la terminologie AppleScript.
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 ruler units est dfini sur les units mm et que vous crez un document de 30 x 30, la valeur retourne pour la hauteur ou la largeur sera 29.99 si la rsolution de votre document est dfinie sur 72 ppp. Linterface de scripts suppose que les paramtres sont mesurs en ppp.
61
Recherchez les proprits de la classe dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop. Recherchez la proprit de lobjet dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4, le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4, lexplorateur dobjets Visual Basic ou lafficheur de modles dobjets ExtendScript. Proprits dAppleScript
height width height width height width height width horizontal offset vertical offset 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
offset filter
Text Item
* 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.
62
Pour les commandes AppleScript, recherchez la commande dans le chapitre Commandes du Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4, ou utilisez le dictionnaire AppleScript de Photoshop. Pour les mthodes VBScript, recherchez la mthode dans le tableau Mthodes de lobjet dans le chapitre Interface du Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4, ou utilisez lexplorateur dobjets Visual Basic. Pour les mthodes JavaScript, recherchez la mthode dans le tableau Mthodes de lobjet dans le chapitre Rfrence des objets du Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4, ou utilisez lafficheur de modles dobjets ExtendScript. VBScript
Document.Crop (Bounds, Height, Width) Document.ResizeCanvas (Height, Width) Document.ResizeImage (Height, Width) Selection.Contract (By) Selection.Expand (By) Selection.Feather (By) Selection.SelectBorder (Width) Selection.Translate (DeltaX, DeltaY) Selection.TranslateBoundary (DeltaX, DeltaY)
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)
JavaScript
document.crop (bounds, height, width) document.resizeCanvas (height, width) document.resizeImage (height, width) selection.contract (by) selection.expand (by) selection.feather (by) selection.selectBorder (width) selection.translate (deltaX, deltaY) selection.translateBoundary (deltaX, deltaY)
63
VBS
En VBScript, RulerUnits et TypeUnits sont des proprits de lobjet Preferences, accessibles via la proprit Preferences de lobjet Application, comme illustr ci-dessous.
appRef.Preferences.RulerUnits = 2 'for PsUnits --> 1 (psInches) appRef.Preferences.TypeUnits = 1 'for PsTypeUnits --> 1 (psPixels) appRef.Preferences.PointSize = 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.
app.preferences.rulerUnits = Units.INCHES app.preferences.typeUnits = TypeUnits.PIXELS app.preferences.pointSize = PointType.POSTSCRIPT
REMARQUE : pensez rtablir les paramtres dunit initiaux lorsque le script a t excut. Reportez-vous la section Utilisation des prfrences de document , page 64 pour obtenir un exemple de ralisation.
Description Enregistre les compositions de calque sous forme de fichiers. Enregistre les compositions de calque sous forme de prsentation PDF. 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 Camera Raw 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 image HDR (High Dynamic Range).
Export Layers to Files.jsx Script Events Manager.jsx Image Processor.jsx Load Files into Stack.jsx
Merge to HDR.jsx
64
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 aussi :
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.
65
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 19 pour plus de dtails).
tell application "Adobe Photoshop CS4" --make Photoshop CS4 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!" --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 > Units et rgles 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.
66
VBS
Pour utiliser les prfrences de document : 1. Crez le script suivant (voir la section Cration et excution dun script VBScript , page 20 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("Photoshop.Application") 'assign default preferences to save values in variables startRulerUnits = appRef.Preferences.RulerUnits startTypeUnits = appRef.Preferences.TypeUnits startDisplayDialogs = appRef.DisplayDialogs 'set new preferences and document defaults appRef.Preferences.RulerUnits = 2 'for PsUnits --> 2 (psInches) appRef.Preferences.TypeUnits = 1 'for PsTypeUnits --> 1 (psPixels) appRef.DisplayDialogs = 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 appRef.Documents.Count = 0 Then appRef.Documents.Add docWidthInInches, docHeightInInches, resolution, helloWorldStr End If 'restore beginning preferences appRef.Preferences.RulerUnits = startRulerUnits appRef.Preferences.TypeUnits = startTypeUnits appRef.DisplayDialogs = startDisplayDialogs Double click the file name in Windows Explorer to run the script.
2. Dans Photoshop, choisissez Edition > Prfrences > Units et rgles 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 20 pour plus de dtails sur la cration dun script JavaScript.
67
//create and assign variables for default preferences startRulerUnits = app.preferences.rulerUnits startTypeUnits = app.preferences.typeUnits startDisplayDialogs = app.displayDialogs //change settings app.preferences.rulerUnits = Units.INCHES app.preferences.typeUnits = TypeUnits.PIXELS app.displayDialogs = DialogModes.NO //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 (app.documents.length == 0) app.documents.add(docWidthInInches, docHeightInInches, resolution, docName) //restore beginning preferences app.preferences.rulerunits = startRulerUnits app.preferences.typeunits = startTypeUnits app.displayDialogs = startDisplayDialogs
2. Nommez le script HelloWorldDoc.jsx 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.
Assurez-vous que Photoshop est ferm. Ouvrez le fichier HelloWorldDoc dans votre diteur de scripts.
68
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 une par une. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. REMARQUE : recherchez les classes suivantes dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 ou dans le dictionnaire AppleScript de Photoshop pour vous assurer que vous comprenez comment vous les avez utilises dans ce script :
69
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 = appRef.ActiveDocument ' create a variable named textColor 'create a SolidColor object whose color is red 'assign the object to textColor Set textColor = CreateObject ("Photoshop.SolidColor") textColor.RGB.Red = 255 textColor.RGB.Green = 0 textColor.RGB.Blue = 0 'create an art layer object using the 'Add method of the ArtLayers class 'assign the layer to the variable newTextLayer Set newTextLayer = docRef.ArtLayers.Add() 'use the Kind property of the Art Layers class to 'make the layer a text layer newTextLayer.Kind = 2 newTextLayer.TextItem.Contents = helloWorldStr newTextLayer.TextItem.Position = Array(0.75, 1) newTextLayer.TextItem.Size = 36 newTextLayer.TextItem.Color = textColor
2. Excutez le script complet. Patientez pendant que Photoshop excute vos commandes une par une. 3. Aprs laffichage du document dans Photoshop, fermez le document sans lenregistrer. REMARQUE : recherchez les classes suivantes dans le Guide de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic pour vous assurer que vous comprenez comment vous les avez utilises dans ce script :
SolidColor ArtLayer
70
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 = app.activeDocument //create a variable named textColor //create a SolidColor object whose color is red //assign the object to textColor textColor = new solidColor textColor.rgb.red = 255 textColor.rgb.green = 0 textColor.rgb.blue = 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 = docRef.artLayers.add() //use the kind property of the artLayer class to make the layer a text layer newTextLayer.kind = LayerKind.TEXT newTextLayer.textItem.contents = helloWorldText newTextLayer.textItem.position = Array(0.75, 1) newTextLayer.textItem.size = 36 newTextLayer.textItem.color = 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 une par une. 3. Aprs avoir visualis le document dans Photoshop, fermez lapplication sans enregistrer le document. REMARQUE : recherchez les classes suivantes dans le Guide de rfrence pour les scripts JavaScript Adobe Photoshop CS4 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 LayerKind.TEXT de la proprit kind utilise la constante LayerKind. Les constantes sont toujours reprsentes en majuscules dans les scripts
JavaScript Photoshop.
71
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 de Photoshop.
Slectionnez la zone du calque laquelle appliquer le filtre Onde. REMARQUE : reportez-vous la section Dfinition de la zone dun objet de slection , page 71 pour vous familiariser avec le code du script effectuant cette tche.
Appliquez un filtre Onde la slection. REMARQUE : londe est une courbe sinusodale tronque.
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.
72
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.
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.
73
REMARQUE : recherchez les classes suivantes dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 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
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 newTextLayer.Rasterize (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 docRef.Selection.Select 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 newTextLayer.ApplyWave 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 de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 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
74
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 newTextLayer.rasterize(RasterizeType.TEXTCONTENTS) //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 docRef.selection.select(selRegion) newTextLayer.applyWave(1, 1, 100, 5, 10, 100, 100, WaveType.SINE, UndefinedAreas.WRAPAROUND, 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 de rfrence pour les scripts JavaScript Adobe Photoshop CS4 ou dans lafficheur de modles dobjets ExtendScript pour vous assurer que vous comprenez comment vous les avez utilises dans ce script :
ArtLayer
Mthode rasterize(). Vous remarquerez que largument RasterizeType.TEXTCONTENTS utilise la constante RasterizeType. Les constantes sont toujours reprsentes en majuscules dans les scripts JavaScript Photoshop. Mthode applyWave()
75
2. Choisissez le bouton Excuter pour excuter le script. REMARQUE : recherchez la classe motion blur dans le Guide de rfrence pour les scripts AppleScript Adobe Photoshop CS4 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 :
docRef.Selection.Select Array(Array(docWidthInPixels / 2, 0), _ Array(docWidthInPixels, 0), _ Array(docWidthInPixels, docHeightInPixels), _ Array(docWidthInPixels / 2, docHeightInPixels), _ Array(docWidthInPixels / 2, 0)) newTextLayer.ApplyMotionBlur 45, 5 docRef.Selection.Deselect
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 de rfrence pour les scripts Visual Basic Adobe Photoshop CS4 ou dans lexplorateur dobjets Visual Basic pour vous assurer que vous comprenez comment vous lavez utilise dans ce script.
76
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)) docRef.selection.select(selRegion) newTextLayer.applyMotionBlur(45, 5) docRef.selection.deselect()
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 de rfrence pour les scripts JavaScript Adobe Photoshop CS4 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 panneau Scripts. 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 filtres tiers. 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.
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 depuis AppleScript (voir la section Excution de code du gestionnaire de scripts JavaScript partir dun script AppleScript , page 84).
77
78
3. Ouvrez Photoshop. REMARQUE : si Photoshop est dj ouvert, fermez-le puis relancez-le. Cette opration permet Photoshop de charger le module externe. Dsinstallation de lcouteur de scripts : 1. Fermez Photoshop. 2. Vrifiez quune copie du fichier ScriptListener.8li existe dj dans le dossier ..\Adobe Photoshop CS4\Scripting\Utilities. 3. Supprimez le fichier Ecouteur de scripts.8li situ lemplacement suivant :
..\Adobe Photoshop CS\Plug-Ins\Automate
4. Supprimez les fichiers dhistorique ScriptingListenerJS.log et ScriptingListenerVB.log de votre bureau. REMARQUE : sous Windows, lcouteur de scripts peut continuer enregistrer les actions mme aprs avoir t retir du dossier Automatisation. Pour empcher le fichier ScriptingListenerJS.log de devenir trop volumineux, supprimez-le chaque fois que vous finissez dexcuter un script Photoshop.
79
Sous Windows, les fichiers dhistorique apparaissent sur votre bureau. Sous Mac OS, les fichiers dhistorique apparaissent 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" ); desc4.putInteger( id20, 135 ); var id21 = charIDToTypeID( "Hght" ); desc4.putInteger( id21, 3 ); var id22 = charIDToTypeID( "Amnt" ); desc4.putInteger( id22, 100 ); executeAction( id19, desc4 ,DialogModes.NO);
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 signes gal et est ainsi facilement identifiable. 2. Copiez le code JavaScript associ laction destampage du fichier ScriptingListenerJS.log dans un autre fichier, appel emboss.jsx.
80
3. Dans le script emboss.jsx, identifiez les valeurs que vous avez utilises avec le filtre (135, 3 et 100). Remplacez les valeurs de filtre spcifies par des noms de variables. Dans lexemple suivant, la valeur 135 a t remplace par angle, 3 par height et 100 par amount.
var id19 = charIDToTypeID( "Embs" ); var desc4 = new ActionDescriptor(); var id20 = charIDToTypeID( "Angl" ); desc4.putInteger( id20, angle ); var id21 = charIDToTypeID( "Hght" ); desc4.putInteger( id21, height ); var id22 = charIDToTypeID( "Amnt" ); desc7.putInteger( id22, amount ); executeAction( id19, desc4,DialogModes.NO );
4. Incluez le code dans une fonction JavaScript. La fonction utilise dans lexemple suivant est appele emboss.
function emboss( angle, height, amount ) { var id19 = charIDToTypeID( "Embs" ); var desc4 = new ActionDescriptor(); var id20 = charIDToTypeID( "Angl" ); desc4.putInteger( id20, angle ); var id21 = charIDToTypeID( "Hght" ); desc4.putInteger( id21, height ); var id22 = charIDToTypeID( "Amnt" ); desc7.putInteger( id22, amount ); executeAction( id19, desc4 ,DialogModes.NO); }
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 de 75, une hauteur de 2 et un facteur de 89 (voir la section Ouverture dun document , page 30 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 = app.open(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" ); desc7.putInteger( id33, angle ); var id34 = charIDToTypeID( "Hght" ); desc7.putInteger( id34, height ); var id35 = charIDToTypeID( "Amnt" ); desc7.putInteger( id35, amount ); executeAction( id32, desc7,DialogModes.NO ); }
81
6. Ouvrez Photoshop, pour appliquer le filtre Estampage en slectionnant Fichier > Scripts > Parcourir, puis en slectionnant lemplacement de votre script emboss.jsx. Slectionnez la commande Charger pour excuter le script.
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 signes gal et est ainsi facilement identifiable. 2. Copiez le code VBScript associ laction destampage du fichier ScriptingListenerVB.log dans un autre fichier, appel emboss.vbs. 3. Dans le script emboss.vbs, identifiez les valeurs que vous avez utilises avec le filtre (135, 3 et 100). 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.
82
DIM objApp SET objApp = CreateObject("Photoshop.Application") REM Use dialog mode 3 for show no dialogs DIM dialogMode dialogMode = 3 DIM id9 id9 = objApp.CharIDToTypeID( "Embs" ) DIM desc4 SET desc4 = CreateObject( "Photoshop.ActionDescriptor" ) DIM id10 id10 = objApp.CharIDToTypeID( "Angl" ) Call desc4.PutInteger( id10, angle) DIM id11 id11 = objApp.CharIDToTypeID( "Hght" ) Call desc4.PutInteger( id11, height ) DIM id12 id12 = objApp.CharIDToTypeID( "Amnt" ) Call desc4.PutInteger( id12, amount ) Call objApp.ExecuteAction( id9, desc4, dialogMode )
4. Incluez le code dans une fonction VBScript. La fonction utilise dans lexemple suivant est appele Emboss. La cration de lobjet dapplication Photoshop doit tre lextrieur de la fonction, comme nous lexpliquerons la prochaine tape.
DIM objApp SET objApp = CreateObject("Photoshop.Application") Function Emboss( angle, height, amount ) REM Use dialog mode 3 for show no dialogs DIM dialogMode dialogMode = 3 DIM id9 id9 = objApp.CharIDToTypeID( "Embs" ) DIM desc4 SET desc4 = CreateObject( "Photoshop.ActionDescriptor" ) DIM id10 id10 = objApp.CharIDToTypeID( "Angl" ) Call desc4.PutInteger( id10, angle ) DIM id11 id11 = objApp.CharIDToTypeID( "Hght" ) Call desc4.PutInteger( id11, height ) DIM id12 id12 = objApp.CharIDToTypeID( "Amnt" ) Call desc4.PutInteger( id12, amount ) Call objApp.ExecuteAction( id9, desc4, dialogMode ) End Function
5. Pour appliquer le filtre Estampage un document laide dun script VBScript, incluez la fonction emboss dans le script et appelez cette fonction avec les paramtres souhaits. Lexemple suivant applique le filtre Estampage avec un angle de 75, une hauteur de 2 et un facteur de 89. Avant que le script nappelle la fonction, il doit ouvrir un document (voir la section Ouverture dun document , page 30 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 Application.Open. Il doit donc pralablement crer lobjet Photoshop.Application.
83
DIM objApp SET objApp = CreateObject("Photoshop.Application") 'Open the document in the script filename = C:\MyFile DIM docRef SET docRef = objApp.Open(filename) 'Call emboss with desired parameters Call Emboss( 75, 2, 89 ) Function Emboss( angle, height, amount ) REM Use dialog mode 3 for show no dialogs DIM dialogMode dialogMode = 3 DIM id9 id9 = objApp.CharIDToTypeID( "Embs" ) DIM desc4 SET desc4 = CreateObject( "Photoshop.ActionDescriptor" ) DIM id10 id10 = objApp.CharIDToTypeID( "Angl" ) Call desc4.PutInteger( id10, angle ) DIM id11 id11 = objApp.CharIDToTypeID( "Hght" ) Call desc4.PutInteger( id11, height ) DIM id12 id12 = objApp.CharIDToTypeID( "Amnt" ) Call desc4.PutInteger( id12, amount ) Call objApp.ExecuteAction( id9, desc4, dialogMode ) End Function
6. Appliquez le script du filtre Estampage en cliquant deux fois sur le fichier emboss.vbs. Cette opration lance Photoshop, ouvre le fichier et applique le filtre Estampage au fichier.
84
function emboss( angle, height, amount ) { var id32 = charIDToTypeID( "Embs" ); var desc7 = new ActionDescriptor(); var id33 = charIDToTypeID( "Angl" ); desc7.putInteger( id33, angle ); var id34 = charIDToTypeID( "Hght" ); desc7.putInteger( id34, height ); var id35 = charIDToTypeID( "Amnt" ); desc7.putInteger( id35, amount ); executeAction( id32, desc7 ); }
2. A la fin du fichier emboss.jsx, 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 VBScript un script JavaScript.
// Call emboss with values provided in the "arguments" collection emboss( arguments[0], arguments[1], arguments[2] );
3. A partir dun script VBScript, vous pouvez excuter le filtre Estampage comme suit (cet exemple suppose que le fichier emboss.jsx se trouve sur le lecteur C:\) :
Set objApp = CreateObject("Photoshop.Application") 'Open the document in the script filename = C:\MyFile DIM docRef SET docRef = objApp.Open(filename) objApp.DoJavaScriptFile "C:\emboss.jsx", Array(75, 2, 89)
85
2. A la fin du fichier emboss.jsx, 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 script JavaScript.
// Call emboss with values provided in the "arguments" collection emboss( arguments[0], arguments[1], arguments[2] );
86
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 variable id14 est dfinie quelques lignes plus haut, et que lID dvnement de laction Open Document est "Opn ". 5. Vous pouvez dsormais utiliser cet ID dvnement pour configurer une notification dvnement pour lvnement Open Document partir de vos scripts. Par exemple, dans JavaScript :
var eventFile = new File(app.path + "/Presets/Scripts/Event Scripts Only/Welcome.jsx") app.notifiers.add( "Opn ", eventFile)
Recherche de lID dvnement et de lID de classe de lvnement New 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 panneau Couches. 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 signes gal. 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" ); desc7.putClass( id19, id20 ); var id21 = charIDToTypeID( "Wdth" ); var id22 = charIDToTypeID( "#Rlt" ); desc7.putUnitDouble( id21, id22, 800.000000 ); var id23 = charIDToTypeID( "Hght" ); var id24 = charIDToTypeID( "#Rlt" ); desc7.putUnitDouble( id23, id24, 800.000000 ); var id25 = charIDToTypeID( "Rslt" ); var id26 = charIDToTypeID( "#Rsl" ); desc7.putUnitDouble( id25, id26, 72.000000 ); var id27 = stringIDToTypeID( "pixelScaleFactor" ); desc7.putDouble( id27, 1.000000 ); var id28 = charIDToTypeID( "Fl " ); var id29 = charIDToTypeID( "Fl " ); var id30 = charIDToTypeID( "Wht " ); desc7.putEnumerated( id28, id29, id30 ); var id31 = charIDToTypeID( "Dpth" ); desc7.putInteger( id31, 8 ); var id32 = stringIDToTypeID( "profile" ); desc7.putString( id32, "sRGB IEC61966-2.1" ); var id33 = charIDToTypeID( "Dcmn" ); desc6.putObject( id18, id33, desc7 ); executeAction( id17, desc6, DialogModes.NO );
87
// ======================================================= 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" ); desc9.putEnumerated( id36, id37, id38 ); var id39 = charIDToTypeID( "Clr " ); var desc10 = new ActionDescriptor(); var id40 = charIDToTypeID( "Rd " ); desc10.putDouble( id40, 255.000000 ); var id41 = charIDToTypeID( "Grn " ); desc10.putDouble( id41, 0.000000 ); var id42 = charIDToTypeID( "Bl " ); desc10.putDouble( id42, 0.000000 ); var id43 = charIDToTypeID( "RGBC" ); desc9.putObject( id39, id43, desc10 ); var id44 = charIDToTypeID( "Opct" ); desc9.putInteger( id44, 50 ); var id45 = charIDToTypeID( "Chnl" ); desc8.putObject( id35, id45, desc9 ); executeAction( id34, desc8, DialogModes.NO );
5. La premire partie reprsente le code permettant dexcuter lvnement New Document (Nouveau document). La deuxime partie reprsente le code pour lvnement New Channel (Nouvelle couche). 6. La mthode executeAction pour ces deux actions utilise un argument dont la valeur est dfinie (voir id17 et id34). Il sagit de lID dvnement de laction New. Cette action a comme Mk 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 pour Channel. 8. Vous pouvez dsormais utiliser ces ID dvnements et de classes afin de configurer une notification dvnement pour les vnements New Document et New Channel partir de vos scripts. Par exemple, dans JavaScript :
var eventFile = new File(app.path + "/Presets/Scripts/Event Scripts Only/Welcome.jsx") app.notifiers.add("Mk ", eventFile, "Dcmn") app.notifiers.add("Mk ", eventFile, "Chnl")
Index
A
actions vs. scripts, 9 affichage des botes de dialogue, 34 AppleScript conventions, 6 cration, 19 excution, 19 excution de scripts JavaScript partir de, 11 prcisions sur la valeur dunit, 59 Applescript affichage du dictionnaire, 22 Application, objet affichage des botes de dialogue, 34 ciblage, 24 dfini, 12 lien avec linterface utilisateur, 15 rfrencement, 24 utilisation, 35 Art Layer, objet ajout dans un script JavaScript, 26 ajout dans un script VBScript, 26 application de styles, 42 cration, 38 cration dun calque de texte, 43 dfini, 13 filtres, 56 lien avec linterface utilisateur, 15 rfrencement, 40 utilisation, 38 automatisation dun flux de production, JavaScript, 63 modification du type, 49 types de, 13 utilisation, 49 classes, recherche, 22 collections, indexation VBScript, 12 Color Sampler, objet dfini, 14 lien avec linterface utilisateur, 16 Color, objet dans le DOM, 16 Color, objets application au texte, 67 comparaison, 56 dfinis, 54 dfinition des valeurs hexadcimales, 55 obtention et conversion, 55 solid color, classes, 54 utilisation, 54 Web scuriss, 56 commandes affichage, 22 conventions, 7 constantes dfinies, 17 recherche, 17, 22 contour slections, 46 texte, 68 conventions, 6 conventions typographiques, 6 copies avec fusion, 58 copy et paste, commandes, 57 copy merged, commande, 58 couches de composante, 13 couches de ton direct, 13 couches de zone masque, 13 couches de zone slectionne, 13 couleur Web scurise, 56 Count Item, objet dfini, 14 lien avec linterface utilisateur, 16
B
bibliothque de types, VBScript, 23 botes de dialogue, contrle, 34
C
calques de texte, 43 Channel, objet activation, 29 dfini, 13 dfinition de la couche active, 29 lien avec linterface utilisateur, 15
D
Document Info, objet dfini, 14 lien avec linterface utilisateur, 16
88
Index
89
utilisation, 49 Document, objet activation, 27 ajout, 25 dfini, 12 enregistrement, 32 informations sur le document, 49 lien avec linterface utilisateur, 15 manipulation, 36 ouverture, 30 utilisation, 36 valeurs dunit, 61
dfini, 77 excution de code JavaScript partir de scripts AppleScript, 84 excution de code JavaScript partir de scripts VBScript, 83 objets de scripts, 78 utilisation partir de scripts JavaScript, 79 utilisation partir de scripts VBScript, 81
H
hirarchie, 11 hirarchie dimbrication, 11 History State, objet dfini, 14 lien avec linterface utilisateur, 16 purge, 50 rtablissement, 50 utilisation, 50
E
couteur de scripts dsinstallation, 78 enregistrement de scripts, 78 fichiers journaux, 77 installation, 77 recherche dID dvnements, 85 recherche dID de classe, 85 Editeur de scripts utilisation, 19 enregistrement des documents, 32 EPS open options, objet valeurs dunit, 61 tats dhistorique dfinis, 50 extensions de fichier fichiers de script, 10
I
ID dvnements, recherche avec lcouteur de scripts, 85 ID de classe, recherche, 85 images, modification de la composition, 13
J
JavaScript conventions, 6 cration, 20 excution, 10, 20 excution partir de scripts Applescript, 11 excution partir de scripts VBScript, 11 exemple dautomatisation dun flux de production, 63 prise en charge, 10 utilisation du Gestionnaire de scripts, 79
F
fichier dfinition du format, 30 fichiers dduction du format, 30 enregistrement, 32 ouverture, 30 ouverture en utilisant des paramtres spcifiques, 30 filtres application du filtre Flou directionnel, 75 application du filtre Onde, 7174 rendre excutable sous forme de script, 78 supplmentaires, 57 utilisation, 56 flou directionnel, dfinition, 75
L
langages de script exemple de scripts, 18 pris en charge, 9 Layer Comp, objet dfini, 13 lien avec linterface utilisateur, 15 Layer Set, objet cration, 39 dfini, 13 lien avec linterface utilisateur, 15 utilisation, 38, 41
G
Gestionnaire de scripts
Index
90
layer, classes, 13 Layer, objets activation, 28 ajout, 26 application de styles, 42 cration, 38 dfinis, 13 dfinition du type, 43 liaison, 41 rfrencement, 40 test pour calques de texte, 43 utilisation, 38 lens flare open options, objet valeurs dunit, 61 Les, 57 logique conditionnelle, 9
cration dans un script, 2426 hirarchie, 11 modle dobjet dAdobe Photoshop, 12 objets actifs, dfinition, 26 offset filter, objet valeurs dunit, 61 Onde, application du filtre, 7174 Open options, classes, 17 oprations, valeurs dunit, 60
P
parent, objets dfinis, 27 paste, commandes, 57 Path Item, objet cration dune ligne droite, 52 dfini, 14 lien avec linterface utilisateur, 15 PathPoint, objet dfini, 14 PDF open options, objet valeurs dunit, 61 prfrences dfinition, 34 utilisation, 64 Preferences, objet dfini, 14 lien avec linterface utilisateur, 16 Presse-papiers, commandes, 57 proprits conventions, 7 recherche, 22
M
Measurement Scale, objet dfini, 15 lien avec linterface utilisateur, 16 mesure, units utilisation, 59 mtadonnes, dfinies, 16 mthodes affichage, 22 conventions, 7 modle dobjet concepts, 11 utilisation, 35 modle dobjet dAdobe Photoshop, 12, 35 modle dobjet de document (DOM), Voir modle dobjet modle dobjet de Photoshop, 12
R
rgle, units dfinies, 59 dfinition, 62 utilisation de la valeur, 61 valeurs, 59
N
notification dvnement, paramtrage, 51 Notifier, objet dfini, 14 lien avec linterface utilisateur, 16 recherche dID dvnements, 85 recherche dID de classe, 85 utilisation, 51
S
Save options, classes, 17 script Hello World, 1821 scripts avancs, 64 cration, 64 cration dobjets, 2426 dfinis, 8 dmarrage, 10 emplacements du fichier, 10 enregistrement, 78
O
objet activation, 26 objets Voir aussi le nom de chaque objet affichage, 22
Index
91
excution, 10 extensions de fichier valides, 10 fonctionnalit, 9 fonctions, 9 utilisation, 77 vs. actions, 9 scripts de dmarrage, 10 Scripts, panneau, 77 Selection, objet chargement, 48 contour, 46 contour progressif, 47 cration, 45 dfini, 13 dfinition de la zone, 71 inversion, 47 lien avec linterface utilisateur, 15 redimensionnement, 47 remplissage, 47 restauration, 48 stockage, 48 utilisation, 45 Solid Color, classes, 54 styles, application aux calques, 42 SubPathItem, objet dfini, 14
dans les oprations, 60 dfinition, 62 prcisions pour AppleScript, 59 types spciaux, 59 utilisation, 59 utilisation de la valeur, 61 valeurs, 59 units de mesure prfrences document, 64
V
valeurs chromatiques hexadcimales, dfinition, 55 valeurs numres recherche, 22 VBScript bibliothque de types, 23 conventions, 6 cration, 20 excution, 20 excution de scripts JavaScript partir de, 11 utilisation du Gestionnaire de scripts, 81
T
Text Item, objet cration, 43 dfini, 13 mise en forme de texte, 44 utilisation, 43 valeurs dunit, 61 texte application de couleur, 67 calques, 43 contour, 68 mise en forme, 44 texte, units dfinies, 59 dfinition, 62 tracs, cration, 52 types de valeurs constantes, 17
U
units comme paramtres, 62 comme proprits, 61 dans les arguments, 62