Académique Documents
Professionnel Documents
Culture Documents
2010 Adobe Systems Incorporated. All rights reserved. Adobe Creative Suite5 Photoshop Handbuch fr Skriptprogrammierung Adobe, the Adobe logo, Illustrator, and Photoshop are either registered trademarks or trademarks of Adobe Systems Inc. in the United States and/or other countries. Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the United States and other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and other countries. JavaScript and all Java-related marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All other trademarks are the property of their respective owners. The information in this document is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Inc. Adobe Systems Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in this document. The software described in this document is furnished under license and may only be used or copied in accordance with the terms of such license. Adobe Systems Inc., 345 Park Avenue, San Jose, California 95110, USA.
Inhalt
1 Einfhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Einfhrung in dieses Handbuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Konventionen in diesem Handbuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Skripting in Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Anzeigen von Objekten, Befehlen und Methoden in Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Anzeigen des AppleScript-Wrterbuchs von Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Anzeigen der Photoshop Type Library (VBS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Festlegen des Application-Objekts als Ziel und Erstellen von Verweisen . . . . . . . . . . . . . . . . . . . . . . . 22 Erstellen neuer Objekte in einem Skript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Festlegen des aktiven Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Festlegen des aktiven Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3
Inhalt
Festlegen der aktiven Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Festlegen der aktiven Kanle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ffnen eines Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ffnen einer Datei mit dem Standarddateiformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Angeben der zu ffnenden Dateiformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Speichern eines Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Festlegen von Anwendungsvoreinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Zulassen oder Verhindern von Dialogfeldern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Arbeiten mit dem Objektmodell von Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden des Application-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden des Document-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manipulieren eines Document-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit Layer-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen eines ArtLayer-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen eines Layer Set-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verweisen auf ArtLayer-Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit LayerSet-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verknpfen von Layer-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anwenden von Stilen auf Ebenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden des Text Item-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festlegen einer Ebenenart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hinzufgen und Manipulieren von Text in einem Text Item-Objekt . . . . . . . . . . . Arbeiten mit Selection-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen und Definieren einer Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zuweisen einer Kontur fr die Auswahlbegrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . Umkehren von Auswahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erweitern und Verkleinern ausgewhlter Bereiche und Hinzufgen weicher Kanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fllen einer Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laden und Speichern von Auswahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit Channel-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ndern von Kanaltypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden des DocumentInfo-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden von HistoryState-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden von Notifier-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden des PathItem-Objekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit Color-Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Volltonfarben-Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden von Hexadezimalwerten fr RGB-Farben . . . . . . . . . . . . . . . . . . . . . . . . . Abrufen und Konvertieren von Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vergleichen von Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abrufen einer websicheren Farbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 34 34 35 36 37 38 38 39 40 40 41 41 42 42 43 44 44 44 45 45 46 46 47 47 48 49 51 52 52 52 53 53
Arbeiten mit Filtern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Sonstige Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Verwenden der Zwischenablage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Verwenden der Befehle zum Kopieren und Einfgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Verwenden des Befehls/der Methode Auf eine Ebene reduziert kopieren . . . . . . . . . . . . 55
Inhalt
Arbeiten mit Maeinheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maeinheitenwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Besondere Datentypen fr Maeinheitenwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . berlegungen zu Maeinheiten in AppleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden von Maeinheitenwerten in Berechnungen . . . . . . . . . . . . . . . . . . . . . . Verwendung von Maeinheitenwerten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festlegen von Lineal- und Texteinheiten in einem Skript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erweiterte Skripterstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit Voreinstellungen fr Dokumente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anwenden von Farbe auf ein Textelement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anwenden eines Schwingungen-Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definieren des Bereichs eines Auswahlobjekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anwenden eines Bewegungsunschrfe-Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56 56 56 56 57 57 59 60 61 64 66 67 71
Action Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ScriptListener-Zusatzmodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Installieren von ScriptListener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Action Manager-Skriptobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Aufzeichnen eines Skripts mit ScriptListener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Verwenden des Action Manager aus JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Verwenden des Action Manager aus einem VBS-Skript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Ausfhren von Action Manager-Code auf JavaScript-Basis aus VBScript . . . . . . . . . . . . . . . . . . . . . . . 79 Ausfhren von Action Manager-Code auf JavaScript-Basis aus AppleScript . . . . . . . . . . . . . . . . . . . . 80 Suchen von Ereignis-IDs und Klassen-IDs ber ScriptListener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Einfhrung
HINWEIS: ber die mit dieser Installation bereitgestellten Skriptreferenzhandbcher stehen fr jede der Sprachen separate Photoshop-Skriptreferenzinformationen zur Verfgung. Diese knnen alternativ auch ber die Objektkataloge zu den einzelnen Sprachen aufgerufen werden. Siehe Anzeigen des AppleScript-Wrterbuchs von Photoshop auf Seite 21 und Anzeigen der Photoshop Type Library (VBS) auf Seite 22. Informationen zum Extend Script Object Model Viewer finden Sie im JavaScript Tools Guide. In Kapitel4 wird der Action Manager beschrieben, mit dem Sie Skripten fr Photoshop-Funktionen schreiben knnen, die in der Skripting-Oberflche sonst nicht zugnglich sind. HINWEIS: Beachten Sie auch die Datei Bitte lesen, die im Lieferumfang von Photoshop enthalten ist. Dort finden Sie aktuellste Informationen, Skriptbeispiele und Informationen zu Problemlsungen.
Bei AppleScript, VBScript und JavaScript gelten mehrere Konventionen. Folgende Abkrzungen werden verwendet:
Der Begriff Befehle bezieht sich sowohl auf Befehle in AppleScript als auch auf Methoden in VBScript und JavaScript.
KAPITEL 1: Einfhrung
Wenn in diesem Handbuch bestimmte Eigenschaften und Befehle genannt werden, gelten dabei die Namenskonventionen von AppleScript fr die jeweilige Eigenschaft. Die Entsprechungen in VBScript und JavaScript werden in Klammern angegeben. Beispiel: Die Eigenschaft display dialogs (DisplayDialogs/displayDialogs) ist Teil des Application-Objekts. In diesem Fall ist display dialogs die AppleScript-Eigenschaft, DisplayDialogs die VBScript-Eigenschaft und displayDialogs die JavaScript-Eigenschaft. Bei umfangreicheren Codeblcken werden die Skriptbeispiele in separaten Zeilen angegeben.
AS
layer 1 of layer set 1 of current document
VBS
appRef.ActiveDocument.LayerSets(1).Layers(1)
JS
app.activeDocument.layerSets[0].layers[0]
Informationen zum Objektmodell von Photoshop finden Sie unter Photoshop-Objektmodell auf Seite 11. Informationen ber das Auswhlen einer Skriptsprache finden Sie im Handbuch Introduction to Scripting. Beispiele fr Skripten, die speziell fr Photoshop entwickelt wurden, finden Sie in Kapitel3, Skripting in Photoshop auf Seite 21. Ausfhrliche Informationen zu den Objekten und Befehlen in Photoshop finden Sie in den Referenzinformationen der drei Handbcher, die zu dieser Installation gehren: Adobe PhotoshopCS5 AppleScript Scripting Reference, Adobe PhotoshopCS5 Visual Basic Scripting Reference und Adobe PhotoshopCS5 JavaScript Scripting Reference.
HINWEIS: Informationen ber die Objekte und Befehle in Photoshop knnen Sie fr jede der drei Skriptsprachen auerdem ber die Objektkataloge abrufen. Siehe Anzeigen von Objekten, Befehlen und Methoden in Photoshop auf Seite 21.
Skripterstellung im berblick
Ein Skript ist eine Reihe von Befehlen, mit denen Photoshop angewiesen wird, bestimmte Aktionen auszufhren, etwa verschiedene Filter auf ausgewhlte Elemente im geffneten Dokument anzuwenden. Hierbei kann es sich um einfache Aktionen handeln, die nur ein einzelnes Objekt betreffen, oder um komplexe Operationen, die sich auf viele Objekte in einem Photoshop-Dokument auswirken. Die Aktionen knnen auf Photoshop begrenzt sein oder auch andere Anwendungen aufrufen. Skripten dienen der Automatisierung sich wiederholender Aufgaben und werden oft als kreatives Werkzeug eingesetzt, um Aufgaben zu rationalisieren, deren manuelle Ausfhrung zu zeitaufwendig wre. Sie knnten z.B. ein Skript erstellen, um eine Reihe lokalisierter Versionen eines bestimmten Bildes zu erstellen oder um Informationen ber die verschiedenen Farbprofile einer Sammlung von Bildern zusammenzustellen. Wenn Sie mit der Skripterstellung noch nicht vertraut sind, sollten Sie die grundlegenden Informationen im Handbuch Introduction to Scripting lesen.
Sie knnen Bedingungslogik einsetzen, sodass das Skript je nach vorliegender Situation automatisch Entscheidungen trifft. Beispiel: Sie knnen ein Skript erstellen, das je nach Gre eines ausgewhlten Bildbereichs eine andersfarbige Umrandung hinzufgt: Wenn der ausgewhlte Bereich kleiner als 2x4Zoll ist, grne Umrandung hinzufgen; andernfalls rote Umrandung hinzufgen.
8
Sie knnen mit einem einzigen Skript Aktionen ausfhren, an denen mehrere Anwendungen beteiligt sind. Beispielsweise ist es je nach verwendeter Skriptsprache mglich, sowohl Photoshop als auch eine andere Anwendung der Adobe Creative Suite5, z.B. Adobe IllustratorCS5, von demselben Skript aus anzusteuern. Sie knnen Dateien mit Skripten ffnen, speichern und umbenennen. Sie knnen Skripten von einem Computer auf einen anderen kopieren. Wenn Sie eine Aktion verwenden und dann den Computer wechseln, mssen Sie dagegen die Aktion neu erstellen. Skripten sind flexibler beim automatischen ffnen von Dateien. Wenn Sie eine Datei ber eine Aktion ffnen, mssen Sie den Speicherort der Datei hartcodieren. In einem Skript knnen Sie dagegen Variablen fr die Dateipfade verwenden.
HINWEIS: Weitere Informationen zu Photoshop-Aktionen finden Sie in der Online-Hilfe von Photoshop.
JavaScript-Untersttzung
Eine JavaScript-Datei wird von Photoshop als gltige Skriptdatei erkannt, wenn sie die Erweiterung .js oder .jsx hat. Unter MacOS besteht hinsichtlich der Funktionsweise von Skripten mit den beiden Erweiterungen kein Unterschied. Unter Windows hat die Erweiterung .js dieselbe Wirkung wie die Erweiterung .jsx, wenn die Skriptdateien aus Photoshop heraus geffnet werden. Beim Starten von Skripten per Doppelklick werden Skripten mit der Erweiterung .js jedoch mit der JScript-Engine von Microsoft interpretiert; Photoshop kann auf diese Weise nicht gestartet werden. Unter Windows empfiehlt es sich, die Erweiterung .jsx zu verwenden, da das Skript dann mit der ExtendScript-Engine interpretiert wird.
10
In JavaScript geschriebene Skripten knnen ber das Men Skripten von Adobe Photoshop (Datei> Skripten) aufgerufen werden. Sie haben damit schnellen und einfachen Zugriff auf Ihre JavaScripts. Wenn eine JavaScript-Datei im entsprechenden Verzeichnis auf der Festplatte abgelegt wird, kann direkt ber das Photoshop-Men darauf zugegriffen werden. Um ein JavaScript im Men Skripten zu installieren, platzieren Sie es im Ordner Skripten (PhotoshopCS5\Vorgaben\Skripten). Die Namen der Skripten im Ordner Skripten werden ohne die Dateinamenerweiterung im Men Skripten angezeigt. Im Men Skripten kann eine beliebige Anzahl von Skripten installiert werden. Wenn whrend der Ausfhrung von Photoshop Skripten in den Ordner Skripten eingefgt werden, sind diese Skripten erst nach dem nchsten Start der Anwendung im Men Skripten sichtbar. Alle Skripten aus dem Ordner Skripten und aus dessen Unterordnern werden auf der obersten Ebene des Mens Datei> Skripten angezeigt. Wenn Unterordner hinzugefgt werden, entsteht dadurch im Men Skripten keine hierarchische Struktur.
Start-Skripten
Beim Starten von Photoshop werden alle in den Startordnern gefundenen .jsx-Dateien ausgefhrt.
Wenn sich Ihr Skript in diesem Basisstartordner befindet, wird es auch beim Start von allen anderen Anwendungen der Adobe Creative Suite5 ausgefhrt. Wenn ein solches Skript nur von Photoshop ausgefhrt werden soll, muss es Code wie den folgenden enthalten:
if( BridgeTalk.appName == "photoshop" ) { //continue executing script }
Photoshop-Objektmodell
11
Photoshop-Objektmodell
Ein Dokumentobjektmodell (DOM) ist eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API), die ber eine Skriptsprache Programmierzugriff auf verschiedene Komponenten eines Dokuments (gem Definition fr die jeweilige Anwendung) ermglicht. Weitere Informationen ber Adobe-Objektmodelle und untersttzende Skriptsprachen finden Sie im Handbuch Introduction to Scripting. Das Photoshop-DOM besteht aus einer hierarchischen Darstellung der Photoshop-Anwendung mit den darin verwendeten Dokumenten samt zugehrigen Komponenten. ber das DOM haben Sie programmiertechnischen Zugriff auf das Dokument sowie auf seine Komponenten und knnen Bearbeitungen daran vornehmen. Sie knnen ber das DOM beispielsweise ein neues Dokument erstellen, einem vorhandenen Dokument eine Ebene hinzufgen oder die Hintergrundfarbe einer Ebene ndern. Die meisten Funktionen, die ber die Benutzeroberflche von Photoshop zur Verfgung stehen, sind ber das DOM zugnglich. Adquate Kenntnisse ber das DOM von Photoshop und darber, wie die einzelnen Aspekte des DOM mit der Photoshop-Anwendung und den zugehrigen Dokumenten zusammenhngen, erleichtern das Schreiben von Skripten.
Enthaltenseinshierarchie
Das Photoshop-Objektmodell ist eine Enthaltenseinshierarchie, d.h. Objekte im Modell werden teilweise anhand der bergeordneten Objekte identifiziert, in denen sie enthalten sind. In Photoshop steht an der Spitze der Hierarchie das Objekt Application (Anwendung). Anwendungen enthalten eine Sammlung von Dokumenten (Documents). Die Dokumentsammlung enthlt Document-Objekte. Ein Document-Objekt enthlt eine ArtLayers-Sammlung, eine HistoryStates-Sammlung, eine Layers-Sammlung, eine Layersets-Sammlung und eine Channels-Sammlung. ber Befehle bzw. Methoden im DOM knnen Sie in einem Photoshop-Dokument Objekte hinzufgen oder entfernen und einzelne Objekteigenschaften wie Farbe, Gre und Form ndern. Im Diagramm unten steht jeder Knoten in der Hierarchie fr eine Klasse im Photoshop-DOM. Im Photoshop-Objektmodell dienen Elemente (AppleScript) bzw. Sammlungen (VBScript, JavaScript) zum unkomplizierten Gruppieren von Klassen. Objektelemente und Sammlungen sind in der Darstellung des Objektmodells unten nicht aufgefhrt. Nicht alle Klassen sind mit einer Sammlung verknpft. Einige Schlsselklassen sind jedoch nach Elementen bzw. Sammlungen gruppiert. In Photoshop gibt es die folgenden Elemente/Sammlungen: Art Layers, Channels, Color Samplers, Count Items, Documents, Layers, Layer Comps, Layer Sets, History States, Notifiers, Path Items, Path Points Sub Path Items und Text Fonts. Weitere Informationen zu Elementen und Sammlungen finden Sie im Handbuch Introduction to Scripting. HINWEIS: In Photoshop beginnt der Index von VBScript-Sammlungen mit 1 statt mit 0. Er weicht damit von anderen VBScript-Arrays ab, bei denen der Index mit 0 beginnt.
Photoshop-Objektmodell
12
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
Layer-Klassen
Es gibt in Photoshop zwei Arten von Ebenen: ein Art Layer (Grafikebene) kann Bildinhalte aufnehmen; ein Layer Set (Ebenenset) kann entweder keinerlei Grafikebenen oder aber mehrere Grafikebenen enthalten. Ein Art Layer ist eine Ebenenklasse in einem Dokument. Sie haben damit die Mglichkeit, ein Objekt im Bild ohne Auswirkungen auf andere Objekte zu bearbeiten. Bilder setzen sich normalerweise aus mehreren Ebenen zusammen, die durch ein Layer Set definiert sind. Sie knnen die Bildkomposition verndern, indem Sie Anordnung und Attribute der beteiligten Ebenen ndern. Ein Text Item (Textelement) ist eine bestimmte Art von Grafikebene, die Ihnen das Einfgen von Text in ein Bild ermglicht. In Photoshop wird ein Text Item-Objekt als eine Eigenschaft der Grafikebene implementiert. Weitere Informationen zu Textelementen finden Sie unter Verwenden des Text Item-Objekts auf Seite 41.
Photoshop-Objektmodell
13
Ein Layer Set ist eine Klasse, die aus mehreren Ebenen besteht. Das Ebenenset ist vergleichbar mit einem Ordner auf dem Desktop bzw. Schreibtisch. Ordner knnen andere Ordner enthalten; analog dazu sind Ebenensets rekursiv: Ein Ebenenset kann ein anderes Ebenenset in der Objektmodellhierarchie aufrufen. Weitere Informationen zu Ebenen finden Sie unter Arbeiten mit Layer-Objekten auf Seite 36.
Layer Comp-Klasse
Die Layer Comp-Klasse ermglicht es Ihnen, mehrere Versionen eines Layouts in einem einzigen Dokument zu erstellen, zu verwalten und anzuzeigen
Channel-Klasse
Die Channel-Klasse wird verwendet, um Pixelinformationen ber eine Bildfarbe zu speichern. Je nach Bildfarbe steht eine unterschiedliche Anzahl von Kanlen zur Verfgung. Ein RGB-Bild hat z.B. vier Standardkanle: jeweils einen Kanal fr jede Primrfarbe sowie einen Kanal fr die Bearbeitung des gesamten Bildes. Sie knnen wahlweise etwa den Rot-Kanal aktivieren, um nur die roten Pixel im Bild zu bearbeiten, Sie knnen aber auch alle Kanle gleichzeitig einer Bearbeitung unterziehen. Derartige Kanle sind mit dem Dokumentmodus verwandt und werden als Komponentenkanle bezeichnet. Sie haben in Photoshop die Mglichkeit, ber die Komponentenkanle hinaus weitere Kanle zu erstellen. Sie knnen einen Volltonfarbenkanal, einen Kanal fr einen maskierten Bereich und einen Kanal fr einen ausgewhlten Bereich erstellen. Mit den Befehlen bzw. Methoden eines Channel-Objekts knnen Sie Kanle erstellen, lschen und duplizieren. Sie haben auerdem die Mglichkeit, das Histogramm eines Kanals abzurufen, den Kanaltyp zu wechseln oder die aktuelle Kanalauswahl zu ndern. Weitere Informationen zu Kanlen finden Sie unter Arbeiten mit Channel-Objekten auf Seite 46.
Selection-Klasse
Die Selection-Klasse dient zum Festlegen eines zu bearbeitenden Pixelbereichs im aktiven Dokument (oder auf einer ausgewhlten Ebene des aktiven Dokuments). Weitere Informationen zu Auswahlen finden Sie unter Arbeiten mit Selection-Objekten auf Seite 42.
History State-Klasse
Die History State-Klasse ist ein Palettenobjekt, mit dem die an einem Dokument vorgenommenen nderungen verfolgt werden. Jedes Mal, wenn Sie ein Bild ndern, wird der neue Zustand des Bildes als Protokollobjekt zur Palette hinzugefgt. Die verschiedenen Bildzustnde lassen sich per Document-Objekt abrufen und knnen zum Zurcksetzen des Dokuments in einen frheren Zustand verwendet werden. Ein Protokollobjekt kann auerdem zum Fllen einer Auswahl verwendet werden. Weitere Informationen zu Protokollobjekten finden Sie unter Verwenden von HistoryState-Objekten auf Seite 47. HINWEIS: Wenn Sie in AppleScript ein Dokument erstellen und dann unmittelbar danach versuchen, den Zustand abzurufen, gibt Photoshop einen Fehler zurck. Sie mssen zunchst Photoshop aktivieren, also zur Anwendung im Vordergrund machen, bevor Sie auf Protokollobjekte zugreifen knnen.
Document Info-Klasse
Die Document Info-Klasse speichert Metadaten ber ein Dokument. Metadaten sind alle Daten, mit denen Inhalte oder Eigenschaften einer Datei beschrieben werden knnen. Weitere Informationen zu Dokumentinformationen finden Sie unter Verwenden des DocumentInfo-Objekts auf Seite 47.
Photoshop-Objektmodell
14
Preferences-Klasse
Die Preferences-Klasse ermglicht es Ihnen, Benutzervoreinstellungen abzurufen und festzulegen. Siehe Arbeiten mit Voreinstellungen fr Dokumente auf Seite 61.
Notifier-Klasse
Das Notifier-Objekt verknpft ein Ereignis mit einem Skript. Wenn Photoshop z.B. beim Starten der Anwendung automatisch ein neues Dokument erstellen soll, knnen Sie ein Skript verknpfen, das fr ein Open Application-Ereignis ein Document-Objekt erstellt. Weitere Informationen zu Notifiern finden Sie unter Verwenden von Notifier-Objekten auf Seite 48.
Count Item-Klasse
Das Count Item-Objekt untersttzt die Skripterstellung fr das Zhlungswerkzeug.
Color Sampler-Klasse
Das Color Sampler-Objekt untersttzt die Skripterstellung fr das Farbaufnahme-Werkzeug.
Measurement Scale-Klasse
Das Measurement Scale-Objekt untersttzt die Skripterstellung fr die neue Messskala-Funktion, mit der Sie eine Skala fr Ihr Dokument festlegen knnen.
Selection
Whlen Sie das Auswahlrechteck oder das Lasso und ziehen Sie mit der Maus.
Photoshop-Objektmodell
15
Beschreibung Ein Zeichnungsobjekt, z.B. die Kontur einer Form, eine gerade Linie oder eine Kurve. Pixelinformationen ber eine Bildfarbe.
So erstellen Sie das Objekt ohne Skript Whlen Sie das Pfadauswahl-Werkzeug oder den Zeichenstift und ziehen Sie einen Pfad mit der Maus. Whlen Sie Fenster> Kanle.
Eine Ebenenklasse in einem Dokument, die es Whlen Sie Ebene> Neu> Ebene oder Ihnen ermglicht, ein Element im Bild ohne Fenster> Ebenen. Auswirkungen auf andere Elemente zu bearbeiten. Eine Gruppe von Art Layer-Objekten. Gruppe ist der aktuelle Name in der Photoshop-Benutzeroberflche. Ebenenset war der in einer frheren Version verwendete Name. Der Objektname bleibt zur Erhaltung der Rckwrtskompatibilitt gleich. Ein Schnappschuss des Ebenenstatus in einem Dokument. Whlen Sie Ebene> Neu> Gruppe.
Layer Set
Layer Comp
Whlen Sie Fenster> Ebenenkomp. Klicken Sie dann auf das Symbol zum Erstellen einer neuen Ebenenkomposition. Whlen Sie Datei> Dateiinformationen.
Document Info
Metadaten ber ein Document-Objekt. HINWEIS: Metadaten sind alle Daten, mit denen Inhalte oder Eigenschaften einer Datei beschrieben werden knnen, z.B. Dateiname, Erstellungsdatum, Name des Autors, Name des in der Datei gespeicherten Bildes usw. Benachrichtigt ein Skript, wenn ein Ereignis auftritt. Das Ereignis lst dann die Ausfhrung des Skripts aus. Beispiel: Wenn ein Anwender auf die Schaltflche OK klickt, teilt das notifier-Objekt dem Skript mit, welche Operation folgen soll. Dies sind die Anwendungsvoreinstellungen.
Notifier
Preferences
Whlen Sie unter Windows Bearbeiten> Voreinstellungen bzw. unter MacOS Photoshop> Voreinstellungen.
History State
Whlen Sie Fenster> Protokoll und Speichert eine Version des Dokuments in dem Status, in dem es jeweils beim Speichern vorlag. whlen Sie anschlieend einen Status aus der Protokollpalette. HINWEIS: Sie knnen mit dem History State-Objekt ein Selection-Objekt fllen oder ein Dokument auf einen frheren Status zurcksetzen. Whlen Sie das Farbaufnahme-Werkzeug aus und klicken Sie in das Dokument. Whlen Sie das Zhlungswerkzeug aus und klicken Sie in das Dokument. Das Measurement Scale-Objekt kann nicht erstellt werden, ber Analyse> Messskala> Benutzerdefiniert haben Sie jedoch die Mglichkeit, die zugehrigen Eigenschaften zu ndern.
Color Sampler Stellt einen Farbaufnehmer in Ihrem Dokument dar. Count Item Stellt ein gezhltes Element im Dokument dar.
Photoshop-Objektmodell
16
Weitere Objekte
Das Photoshop-Objektmodell enthlt ber die oben im Abschnitt zur Enthaltenseinshierarchie beschriebenen Objekte hinaus weitere Objekte. Die meisten dieser Klassen werden als Typen fr Eigenschaften oder zum Bereitstellen von Informationen (als Argumente) fr Befehle bzw. Methoden verwendet. Beispiel:
Die Klasse color value (SolidColor/SolidColor) gibt den Typ fr die Eigenschaften background color (backgroundColor/backgroundColor) und foreground color (ForegroundColor/foregroundColor) des Application-Objekts an. Siehe Arbeiten mit Color-Objekten auf Seite 51. Optionen zum ffnen und Speichern von Dokumenten werden als Klassen definiert. Diese Klassen werden an die Befehle bergeben, die Dokumente ffnen und speichern. Die Klasse BMP save options (BMPSaveOptions/BMPSaveOptions) kann beispielsweise als Argument an den Befehl bzw. die Methode save (saveAs/saveAs) bergeben werden. Siehe ffnen eines Dokuments auf Seite 28 und Speichern eines Dokuments auf Seite 31.
Konstanten
Eine weitere wichtige Komponente des Photoshop-Objektmodells fr JavaScript und VBScript sind Konstanten. Konstanten sind ein Wertetyp zur Definition einer Eigenschaft. Beispielsweise knnen mit der Eigenschaft kind eines Art Layer-Objekts nur bestimmte, in Photoshop zulssige Typen verwendet werden. Allgemeine Informationen zu Konstanten finden Sie im Handbuch Introduction to Scripting. HINWEIS: In dieser Dokumentation werden die eigentlichen Werte der numerischen Konstanten fr VBScript wie folgt verdeutlicht:
newLayerRef.Kind = 2 '2 indicates psLayerKind --> 2 (psTextLayer)
Durch den Apostroph (') vor der Erluterung wird ein Kommentar erstellt. Der auf den Apostroph folgende Text wird von der Skript-Engine ignoriert. Weitere Informationen zur Verwendung von Kommentaren finden Sie in dem Handbuch Introduction to Scripting. Lesen Sie beispielsweise die Informationen zum ArtLayer-Objekt im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder Adobe PhotoshopCS5 Visual Basic Scripting Reference nach. Eine der Eigenschaften dieses Objekts ist Kind (kind). Der Datentyp fr diese Eigenschaft enthlt einen Link zu der Konstante, ber die mgliche Werte fr die Eigenschaft definiert werden. In VBScript handelt es sich um die Konstante PSLayerKind, in JavaScript um die Konstante LayerKind. Klicken Sie auf den Link, um die mglichen Werte fr die Eigenschaft kind anzuzeigen. HINWEIS: Verschiedene Objekte knnen denselben Eigenschaftsnamen mit unterschiedlichen Konstantenwerten verwenden. Die Konstantenwerte fr die Eigenschaft kind des Channel-Objekts unterscheiden sich beispielsweise von den Konstantenwerten fr die Eigenschaft kind des Art Layer-Objekts.
17
Application
Document
Art Layer
Text Item
18
2. Klicken Sie auf Ausfhren, um das Skript auszufhren. Photoshop erstellt ein neues Dokument, fgt eine neue Ebene hinzu, ndert den Ebenentyp in eine Textebene und setzt den Text auf Hello, World. HINWEIS: Sollten Fehler gemeldet werden, lesen Sie im Handbuch Introduction to Scripting den Abschnitt zum Debuggen von AppleScript.
19
2. Speichern Sie die Datei als Textdatei mit der Erweiterung .vbs. 3. Doppelklicken Sie im Windows-Explorer auf die Datei, um das Skript auszufhren. Das Skript ffnet Photoshop.
20
So erstellen Sie Ihr erstes JavaScript fr Photoshop und fhren es aus: 1. Geben Sie das folgende Skript ein. HINWEIS: Die Eingabe von Kommentaren ist optional.
// 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. Speichern Sie die Datei als Textdatei mit der Erweiterung .jsx im Ordner Vorgaben\Skripten Ihres Installationsverzeichnisses von Adobe PhotoshopCS5. HINWEIS: Nur JavaScripts, die sich im Ordner Vorgaben\Skripten befinden, knnen Sie in Photoshop ber Datei> Skripten aufrufen. Die Skripten werden erst nach dem nchsten Start der Anwendung im Men Datei> Skripten angezeigt. HINWEIS: Photoshop untersttzt auch JavaScript-Dateien mit der Erweiterung .js. 3. Fhren Sie einen der folgenden Schritte aus:
Wenn Photoshop bereits geffnet ist, whlen Sie Datei> Skripten> Durchsuchen, navigieren Sie zum Ordner Vorgaben> Skripten und whlen Sie Ihr Skript aus. Starten Sie Photoshop, whlen Sie Datei> Skripten und whlen Sie Ihr Skript aus dem Men Skripten.
Skripting in Photoshop
In diesem Kapitel werden verschiedene Techniken fr die Verwendung des Photoshop Document Object Models (DOM) zur Programmierung Photoshop-spezifischer Skripten demonstriert. Darber hinaus erfahren Sie, wie Sie mithilfe der Referenzhandbcher und Objektmodellbrowser Informationen ber die Objekte, Klassen, Eigenschaften, Befehle und sogar einige Werte (Konstanten oder numerische Werte) finden, die Sie bei der Erstellung von AppleScripts, VBScripts und JavaScripts fr Photoshop verwenden knnen. TIPP: Im gesamten Kapitel folgen auf die Erluterungen zur Erstellung eines Skripts Anweisungen dazu, wo Sie Informationen ber die im Skript verwendeten Elemente finden knnen. Auf diese Weise werden Sie schnell mit der Erstellung von Skripten in Photoshop vertraut sein.
Adobe PhotoshopCS5 AppleScript Scripting Reference Adobe PhotoshopCS5 Visual Basic Scripting Reference Adobe PhotoshopCS5 JavaScript Scripting Reference
Darber hinaus knnen Sie ber den jeweiligen Objektmodellbrowser fr jede Sprache auf Referenzmaterial zugreifen:
Verwenden Sie fr AppleScript den AppleScript-Skripteditor, um das Photoshop-AppleScript-Wrterbuch anzuzeigen. Verwenden Sie fr VBScript den VBA-Editor in Microsoft Word, den Visual Basic-Objektkatalog in Visual Basic oder Visual Studio. Verwenden Sie fr JavaScript den ExtendScript Object Model Viewer. Weitere Informationen finden Sie im Handbuch JavaScript Tools Guide.
21
HINWEIS: Das Photoshop-AppleScript-Wrterbuch enthlt keine vollstndige Liste der Open- und Save-Formate.
AS
Um Photoshop in AppleScript als Ziel festzulegen, mssen Sie das Skript mit den folgenden Anweisungen beginnen bzw. beenden:
tell application "Adobe Photoshop CS5" ... end tell
HINWEIS: Da Sie alle Befehle in den tell-Block einschlieen, mssen Sie im Skript nicht auf das Application-Objekt verweisen. VBS Gehen Sie in VBScript folgendermaen vor, um die Anwendung als Ziel festzulegen:
Dim appRef Set appRef = CreateObject("Photoshop.Application")
JS
Da Sie in JavaScript keine Verweise auf ein Application-Objekt bentigen, knnen Sie ohne jede Qualifizierung auf alle Eigenschaften und Methoden der Anwendung zugreifen. Sie knnen ggf. in der Enthaltenseinshierarchie auf die Anwendung verweisen, wenn Ihre Skripten dadurch fr Sie besser lesbar sind. Verwenden Sie zum Verweisen auf das Application-Objekt nicht den Klassennamen, sondern das bereits definierte globale Objekt app. Die folgenden Anweisungen sind gleichbedeutend:
var docRef = app.documents[1]
und
var docRef=documents[1]
HINWEIS: In diesem Handbuch wird in vielen JavaScript-Beispielen grundstzlich nicht auf ein Application-Objekt verwiesen.
Wie Sie unter Photoshop-Objektmodell auf Seite 11 sehen knnen, enthlt das Document-Objekt bis auf die Application-, Notifier- und Preferences-Objekte alle Objekte. Aus diesem Grund mssen Sie auf das Document-Objekt verweisen, wenn Sie Ihrem Skript ein anderes Objekt als ein Document- oder ein Notifier-Objekt hinzufgen. (Es ist nicht mglich, ein neues Preferences-Objekt hinzuzufgen.) HINWEIS: In VBScript und JavaScript verwenden Sie zur Benennung des Objekttyps den Namen der Objektsammlung. So fgen Sie z.B. ein Dokument der Documents-Sammlung hinzu und eine Grafikebene der art layers-Sammlung. Weitere Informationen zu Elementen und Sammlungen finden Sie im Handbuch Introduction to Scripting.
AS
Mit der folgenden Anweisung erzeugen Sie ein Document-Objekt in einem AppleScript.
make new document
Sie knnen auch mithilfe des Befehls set eine Variable erstellen und so auf ein neues Dokument verweisen. Im folgenden Beispiel stellt die Variable docRef einen Verweis auf das neue Dokument dar:
set docRef to make new document
Wenn Sie ein anderes Objekt als ein Dokument erstellen mchten, mssen Sie auf das Document-Objekt verweisen, das das Objekt enthlt. Im folgenden Beispiel wird in dem durch die Variable docRef angegebenen Dokument eine Grafikebene erstellt.
make new art layer in docRef
HINWEIS: Wenn Sie ein Objekt in AppleScript erstellen, fgen Sie das Objekt tatschlich auf dieselbe Weise einem Element hinzu, wie Sie einer Sammlung ein VBScript- oder JavaScript-Objekt hinzufgen. In AppleScript ist der Elementname jedoch in der make- oder set-Anweisung impliziert. So bedeutet z.B. die Anweisung
make new document
tatschlich Folgendes:
make new document in the documents element
Fhren Sie die folgenden Schritte aus, um mehr ber das Erstellen von Objekten in einem AppleScript zu erfahren:
Schlagen Sie die make- und set-Befehle im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach. Siehe Anzeigen des AppleScript-Wrterbuchs von Photoshop auf Seite 21. Um herauszufinden, welche Befehle fr ein Objekt verwendet werden knnen, schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference das jeweilige Objekt nach. Sind fr ein Objekt gltige Befehle verfgbar, befindet sich am Ende der Objektbeschreibung eine Liste dieser Befehle.
VBS
In VBScript knnen Sie die Add-Methode nur mit dem Namen der Sammlung verwenden. Die Add-Methode ist ausschlielich fr Sammlungsobjekte gltig. Darber hinaus mssen Sie in VBScript einen Verweis auf das Application-Objekt erstellen, wenn Sie in Ihrem Skript ein Objekt erstellen oder auf ein Objekt verweisen. Wenn Sie z.B. in einem VBScript ein Dokument erstellen, knnen Sie nicht den Objektnamen verwenden, wie dies im folgenden Beispiel der Fall ist, in dem ein Document-Objekt erstellt wird:
appRef.Document.Add()
Sie mssen den Namen der Sammlung verwenden, bei dem es sich um eine Pluralform des Objektnamens handelt, wie im folgenden Beispiel gezeigt:
appRef.Documents.Add()
HINWEIS: In dieser Beispielanweisung wird mithilfe der Variablen appRef auf das Application-Objekt verwiesen. Weitere Informationen finden Sie unter Festlegen des Application-Objekts als Ziel und Erstellen von Verweisen auf Seite 22. Zum Hinzufgen eines ArtLayer-Objekts mssen Sie einen Verweis sowohl auf das Application- als auch auf das Document-Objekt erstellen, in denen die Grafikebene enthalten sein soll. Im folgenden Beispiel wird mit der Variablen appRef auf das Application-Objekt verwiesen. Der Verweis auf das Document-Objekt erfolgt nicht mit dem Namen des Dokuments, sondern mit dem Dokumentindex.
appRef.Documents(1).ArtLayers.Add()
HINWEIS: In Photoshop beginnt der Index von VBScript-Sammlungen mit 1 statt mit 0. Das erste erstellte Dokument erhlt also nicht den Index0, sondern den Index1.
Wenn Sie das Document-Objekt in der Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nachschlagen, werden Sie feststellen, dass es fr das Objekt keine Add()-Methode gibt. Die Add()-Methode steht jedoch fr das Documents-Objekt zur Verfgung. Entsprechend verfgt das ArtLayer-Objekt nicht ber eine Add()-Methode, das ArtLayers-Objekt jedoch schon. HINWEIS: Das Layers-Objekt bildet hier eine Ausnahme. Es handelt sich dabei zwar um ein Sammlungsobjekt, es enthlt jedoch keine Add()-Methode. Die Layers-Sammlung enthlt sowohl ArtLayer- als auch LayerSet-Objekte, die mit der Add-Methode in der ArtLayers- bzw. der LayerSets-Sammlung erzeugt werden. Weitere Informationen finden Sie, wenn Sie das Layers-Objekt in der Adobe PhotoshopCS5 Visual Basic Scripting Reference nachschlagen. JS In JavaScript knnen Sie die add()-Methode nur mit dem Namen der Sammlung verwenden. Die add()-Methode ist ausschlielich fr Sammlungsobjekte gltig. Analog zu VBScript verwenden Sie in JavaScript folgende Anweisung, um ein Dokument zu erstellen:
documents.add()
also nicht:
document.add()
HINWEIS: Bei Bedarf knnen Sie einen Verweis auf ein Application-Objekt einschlieen. Die folgende Anweisung entspricht dem vorhergehenden Beispiel:
app.documents.add()
Zum Hinzufgen eines ArtLayer-Objekts mssen Sie einen Verweis auf das Document-Objekt erstellen, das die Ebene enthlt, und die add()-Methode fr die ArtLayers-Sammlung verwenden (ber die artLayers-Eigenschaft von Document).
documents[0].artLayers.add()
Wie bei VBScript ist die add()-Methode zwar mit dem Documents-Objekt von JavaScript, aber nicht mit dem Document-Objekt verbunden. Entsprechend verfgt das ArtLayer-Objekt nicht ber eine add()-Methode, das ArtLayers-Objekt jedoch schon. HINWEIS: Das Layers-Sammlungsobjekt enthlt keine add()-Methode. Weitere Informationen finden Sie, wenn Sie das Layers-Objekt in der Adobe PhotoshopCS5 JavaScript Scripting Reference nachschlagen.
In AppleScript verwenden Sie die Eigenschaft current des bergeordneten Objekts. In VBScript verwenden Sie die Eigenschaft ActiveObject des bergeordneten Objekts (z.B. ActiveDocument oder ActiveLayer). In JavaScript verwenden Sie die Eigenschaft activeObject des bergeordneten Objekts (z.B. activeDocument oder activeLayer).
HINWEIS: Beim bergeordneten Objekt handelt es sich um das Objekt, das das angegebene Objekt enthlt. So ist z.B. die Anwendung dem Dokument bergeordnet, und das Dokument ist einer Ebene, einer Auswahl oder einem Kanal bergeordnet. Wenn Sie sich z.B. das Application-Objekt in der Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer ansehen, werden Sie feststellen, dass activeDocument eine seiner Eigenschaften ist; wenn Sie sich das Document-Objekt ansehen, werden Sie als Eigenschaften activeLayer und activeHistoryState entdecken. Wenn Sie sich analog hierzu application im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch ansehen, werden Sie feststellen, dass dieses Objekt die Eigenschaft current hat usw. Beispielskripten fr das Festlegen aktiver Objekte finden Sie in den folgenden Abschnitten.
Festlegen des aktiven Dokuments auf Seite 26 Festlegen der aktiven Ebene auf Seite 27 Festlegen der aktiven Kanle auf Seite 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
HINWEIS: Photoshop benennt die Ebenen standardmig Ebene1, Ebene2 usw. 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)
Schlagen Sie die Eigenschaft ActiveLayer fr das Document-Objekt im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach. HINWEIS: Sie knnen die zu verwendende Ebene auch ber den Ebenennamen angeben. Photoshop benennt die Ebenen standardmig Ebene1, Ebene2. Siehe Verweisen auf ArtLayer-Objekte auf Seite 38. 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]
Schlagen Sie die Eigenschaft activeLayer fr das Document-Objekt im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach. HINWEIS: Sie knnen die zu verwendende Ebene auch ber den Ebenennamen angeben. Photoshop benennt die Ebenen standardmig Ebene1, Ebene2. Siehe Verweisen auf ArtLayer-Objekte auf Seite 38.
Sie knnen auch mithilfe der Eigenschaft component channels des Document-Objekts alle Kanle als aktiv auswhlen.
set current channels of current document to component channels of current document
VBS
Whlen Sie mithilfe eines Kanal-Arrays den ersten und dritten Kanal des aktiven Dokuments als aktiv aus:
This example assumes docRef is already the ActiveDocument Dim theChannels theChannels = Array(docRef.Channels(1), docRef.Channels(3)) docRef.ActiveChannels = theChannels
Sie knnen auch mithilfe der Eigenschaft Component Channels des Document-Objekts alle Kanle als aktiv auswhlen:
appRef.ActiveDocument.ActiveChannels= _ appRef.ActiveDocument.ComponentChannels
JS
Whlen Sie mithilfe eines Kanal-Arrays den ersten und den dritten Kanal als aktiv aus:
theChannels = new Array(docRef.channels[0], docRef.channels[2]) docRef.activeChannels = theChannels
Sie knnen auch mithilfe der Eigenschaft component Channels des Document-Objekts alle Kanle als aktiv auswhlen:
app.activeDocument.activeChannels = activeDocument.componentChannels
AS VBS JS
set theFile to alias "Applications:Documents:MyFile" open theFile fileName = "C:\MyFile" Set docRef = appRef.Open(fileName) var fileRef = File(app.path + "/Samples/Fish.psd") var docRef = app.open(fileRef)
Beachten Sie, dass Sie in JavaScript ein File-Objekt erstellen und dann einen Verweis auf das Objekt an den open()-Befehl bermitteln mssen.
Photo CD OpenOptionen
EPS OpenOptionen
PDF OpenOptionen
Fr die Dokumenttypen in der folgenden Liste knnen Sie Optionen festlegen, die bestimmen, wie das Dokument geffnet wird (z.B. Hhe und Breite des Fensters, in dem das Dokument geffnet wird, welche Seite bei einer Datei mit mehreren Seiten geffnet werden soll usw.).
Wenn Sie wissen mchten, welche Optionen Sie fr die einzelnen Dateitypen festlegen knnen, schlagen Sie die Eigenschaften der OpenOptions-Objekte nach, die mit den Namen der Dateiformate beginnen. Beispiel:
Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference die Photo CD open options-Klasse oder die EPS open objects-Klasse nach. Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference bzw. Adobe PhotoshopCS5 JavaScript Scripting Reference das PhotoCDOpenOptions-Objekt oder das EPSOpenOptions-Objekt nach.
Die folgenden Beispiele zeigen, wie Sie ein generisches PDF-Dokument (mit mehreren Seiten und mehreren Bildern) mit folgenden Spezifikationen ffnen knnen:
Das Dokument wird im RGB-Modus mit einer Auflsung von 72Pixel/Zoll geffnet. Glttung wird eingesetzt, um die Zackenbildung an den Kanten von Bildern im Dokument zu minimieren.
Seite3 des Dokuments wird angezeigt. Die ursprngliche Form des Dokuments wird entsprechend den fr Hhe und Breite festgelegten Eigenschaften gendert, wenn die ursprngliche Form nicht doppelt so breit wie hoch ist.
AS
tell application "Adobe Photoshop CS5" set myFilePath to alias "OS X 10.5.8 US:Users:psauto:Desktop:opal_screen.pdf" with timeout of 300 seconds open myFilePath as PDF with options {class:PDF open options, mode:RGB, resolution:72, use antialias:true, page:3} end timeout end tell Dim appRef Set appRef = CreateObject("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
HINWEIS: Das ExtendScript File-Objekt erwartet eine Universal Resource Identifier-Notation (URI). Weitere Informationen finden Sie im Handbuch JavaScript Tools Guide.
// 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
Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference die Klasse EPS save options nach. Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference bzw. Adobe PhotoshopCS5 JavaScript Scripting Reference EPSSaveOptions nach. Save-Klassen SaveOptionen
Photoshop
BMP
GIF
EPS
JPEG
PICT-Datei
PICTRessource
Pixar
PNG
TIFF
Raw
DSC1
DSC2
SGI RGB-
Targa
HINWEIS: Beachten Sie dabei, dass die Formate Open und Save nicht identisch sind. Einen Vergleich finden Sie unter Angeben der zu ffnenden Dateiformate auf Seite 29. HINWEIS: Die folgenden optionalen Formate sind nur verfgbar, wenn sie zustzlich installiert wurden:
Mit den folgenden Skripten knnen Sie ein Dokument als .jpeg-Datei speichern: AS
tell application "Adobe Photoshop CS5" make new document set myFile to "OS X 10.5.8 US:Users:psauto:Desktop:Rat.jpg" set myOptions to {class:JPEG save options, embed color profile:false, format options:standard, matte:background color matte} save current document in file myFile as JPEG with options myOptions appending no extension without copying end tell
VBS
Dim appRef,docRef Set appRef = CreateObject("Photoshop.Application") Set docRef = appRef.Documents.Add() Set jpgSaveOptions = CreateObject("Photoshop.JPEGSaveOptions") jpgSaveOptions.EmbedColorProfile = True jpgSaveOptions.FormatOptions = 1 'for psStandardBaseline jpgSaveOptions.Matte = 1 'for psNoMatte jpgSaveOptions.Quality = 1 appRef.ActiveDocument.SaveAs "c:\temp\myFile2", _ jpgSaveOptions, True, 2 'for psLowercase
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)
Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch die Klasse settings-object nach, um alle Einstellungsvoreinstellungen anzuzeigen, die Sie verwenden knnen. VBS Das Preferences-Objekt ist ein untergeordnetes Objekt des Application-Objekts. Wenn Sie das Preferences-Objekt in einem VBScript verwenden, mssen Sie sein Enthaltensein im Application-Objekt angeben.
appRef.Preferences.RulerUnits = 2 'for PsUnits --> 2 (psInches) appRef.Preferences.TypeUnits = 1 'for PsTypeUnits --> 1 (psPixels)
Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog das Preferences-Objekt nach, um alle Einstellungsvoreinstellungen anzuzeigen, die Sie verwenden knnen. Schlagen Sie auerdem die Eigenschaft Preferences des Application-Objekts nach.
JS
Schlagen Sie im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer das Preferences-Objekt nach, um alle Einstellungsvoreinstellungen anzuzeigen, die Sie verwenden knnen. Schlagen Sie auerdem die Eigenschaft preferences des Application-Objekts nach.
Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch die Class application nach, um die Werte zu ermitteln, die Sie fr die Eigenschaft display dialogs verwenden knnen. VBS Zum Festlegen von Voreinstellungen fr Dialogfelder verwenden Sie die Eigenschaft DisplayDialogs des
Application-Objekts. appRef.DisplayDialogs = 3 'for PsDialogModes --> 3 (psDisplayNoDialogs)
Beachten Sie, dass es sich bei DisplayDialogs um eine Eigenschaft des Application-Objekts handelt und Sie deshalb im Skript einen Verweis auf das Application-Objekt erstellen mssen, damit Sie die Eigenschaft erhalten. Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog die Eigenschaft DisplayDialogs des Application-Objekts nach. Sie werden feststellen, dass es sich beim Datentyp fr diese Eigenschaft um die Konstante PsDialogModes handelt. Sie knnen auch die Optionen fr PsDialogModes nachschlagen. JS Zum Festlegen von Voreinstellungen fr Dialogfelder verwenden Sie die Eigenschaft displayDialogs des
Application-Objekts. displayDialogs = DialogModes.NO
Schlagen Sie im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer die Eigenschaft displayDialogs des Application-Objekts und anschlieend die Konstante DialogModes nach.
Globale Einstellungen oder Voreinstellungen in Photoshop, wie Maeinheiten oder Farbeinstellungen (siehe Festlegen von Anwendungsvoreinstellungen auf Seite 32). Dokumente Sie knnen Dokumente hinzufgen oder ffnen und festlegen, welches Dokument aktiv sein soll. ffnen eines Dokuments auf Seite 28 und Festlegen des aktiven Objekts auf Seite 25. Aktionen Sie knnen Aktionen ausfhren, die mithilfe von Skripten oder unter Verwendung der Aktionenpalette in Photoshop erstellt wurden. Siehe Action Manager auf Seite 73.
Sie knnen die Eigenschaften des Application-Objekts verwenden, um z.B. die folgenden Informationen abzurufen:
AS: Stellen Sie theFonts auf fonts ein HINWEIS: In AppleScript ist fonts eine separate Sammlung, daher ist zum Abrufen dieser Sammlung kein Verweis auf das Application-Objekt erforderlich.
VBS: Stellen Sie fontsInstalled = AppRef.Fonts ein JS: var fontsInstalled = app.fonts
Der fr Adobe Photoshop verfgbare nicht belegte Speicherplatz (ber die Eigenschaft free memory (FreeMemory/freeMemory) des Application-Objekts). Der Speicherort des Preferences-Ordners (ber die Eigenschaft preferences folder (PreferencesFolder/preferencesFolder) des Application-Objekts).
Weitere Informationen erhalten Sie, wenn Sie die Eigenschaften des Application-Objekts im Referenzhandbuch oder im Objektbrowser der von Ihnen verwendeten Sprache nachschlagen.
Zugriff auf im Document-Objekt enthaltene Skriptobjekte, wie ArtLayer- oder Channel-Objekte. Weitere Informationen finden Sie unter Photoshop-Objektmodell auf Seite 11. Manipulieren eines bestimmten Document-Objekts mithilfe von Befehlen oder Methoden. Sie knnen z.B. die Arbeitsflche freistellen, drehen oder spiegeln, die Gre des Bildes oder der Arbeitsflche anpassen oder das Bild zuschneiden. Eine Veranschaulichung finden Sie unter Manipulieren eines Document-Objekts auf Seite 35. Abrufen der aktiven Ebene. Siehe Festlegen der aktiven Ebene auf Seite 27. Speichern des aktuellen Dokuments. Siehe Speichern eines Dokuments auf Seite 31. Kopieren und Einfgen innerhalb des aktiven Dokuments oder zwischen verschiedenen Dokumenten. Siehe Verwenden der Zwischenablage auf Seite 54.
Speichern der vorhandenen Voreinstellungen fr Linealmaeinheiten und Einstellen der Maeinheit fr Lineale auf Zoll ffnen einer vorhandenen Datei als Dokument (unter Verwendung von Ente.tif ) ndern der Bildgre auf eine Breite von 4Zoll und eine Hhe von 4Zoll ndern der Gre des Dokumentfensters (bzw. der Arbeitsflche) auf eine Hhe von 4Zoll und eine Breite von 4Zoll Zuschneiden des oberen und unteren Bildrands Freistellen des Bildes Spiegeln des gesamten Fensters Wiederherstellen der ursprnglichen Maeinheit fr Lineale
HINWEIS: Informationen zu Linealeinheiten finden Sie unter Festlegen von Anwendungsvoreinstellungen auf Seite 32. AS
tell application "Adobe Photoshop CS5" set saveUnit to ruler units of settings set ruler units of settings to inch units set duckFile to alias "OS X 10.5.8 US:Applications:Adobe Photoshop CS5:Samples: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
VBS
'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
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
HINWEIS: Ein ArtLayer-Objekt kann auch Text enthalten, wenn Sie mithilfe der Eigenschaft kind fr das ArtLayer-Objekt den Objekttyp Textebene auswhlen.
Layer Set-Objekte, die kein oder mehrere ArtLayer-Objekte enthalten knnen.
Wenn Sie eine Ebene erstellen, mssen Sie einen der folgenden Typen auswhlen: ArtLayer oder Layer Set. HINWEIS: Sowohl das ArtLayer- als auch das LayerSet-Objekt verfgen ber entsprechende Sammlungsobjekte, ArtLayers und LayerSets, die wiederum einen add/Add/add()-Befehl aufweisen. Sie knnen mithilfe des Layers-Sammlungsobjekts Verweise auf ArtLayer- und LayerSet-Objekte erstellen, diese Objekte jedoch nicht hinzufgen, da dieses Sammlungsobjekt im Gegensatz zu anderen Sammlungsobjekten keinen add/Add/add()-Befehl aufweist.
VBS
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)
VBS
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)
Mit der folgenden Syntax knnen Sie Verweise auf die Ebenennamen erstellen, die die Ebenen in der Anwendung erhalten: AS
layer 1 of layer set 1 of current document
HINWEIS: Im Gegensatz zu Objektverweisen in JavaScript oder VBScript bleiben AppleScript-Objektverweisnamen nicht konstant. Informationen zu Dateiverweisen mit as alias oder to a reference to file finden Sie in verschiedenen Dokumentationen zur AppleScript-Sprache. VBS JS
Layers("Layer 3").name layers["Layer 3"].name //using the collection name and square brackets for the collection
VBS
In VBScript knnen Sie die Ebene mit der gleichen Methode duplizieren und platzieren.
Dim appRef, docRef Set appRef = CreateObject("Photoshop.Application") 'Make a new document and a first layer in the document Set docRef = appRef.Documents.Add() appRef.ActiveDocument.ArtLayers.Add() Set layerSetRef = docRef.LayerSets.Add() Set layerRef = docRef.ArtLayers(1).Duplicate(layerSetRef, 2)
JS
Schlagen Sie den link-Befehl im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach. VBS
Set layer1Ref = docRef.ArtLayers.Add() Set layer2Ref = docRef.ArtLayers.Add() layer1Ref.Link layer2Ref
Schlagen Sie Link als eine Methode des ArtLayer-Objekts im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach. Schlagen Sie auerdem Add als eine Methode des ArtLayers-Objekts nach. JS
var layerRef1 = docRef.artLayers.add() var layerRef2 = docRef.artLayers.add() layerRef1.link(layerRef2)
Schlagen Sie link() als eine Methode des ArtLayer-Objekts im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach. Schlagen Sie auerdem add() als eine Methode des ArtLayers-Objekts nach.
Schlagen Sie den Befehl apply layer style im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach. VBS
docRef.ArtLayers("L1").ApplyStyle "Puzzle (Image)"
Schlagen Sie ApplyStyle als eine Methode des ArtLayer-Objekts im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach. JS
docRef.artLayers["L1"].applyStyle("Puzzle (Image)")
Schlagen Sie applyStyle() als eine Methode des ArtLayer-Objekts im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach.
JS
Weitere Informationen zum Zusammenhang zwischen ArtLayer-Objekten und TextItem-Objekten finden Sie unter Photoshop-Objektmodell auf Seite 11. Schlagen Sie auerdem Folgendes nach:
Die Eigenschaften Kind/kind und TextItem/textItem des ArtLayer-Objekts im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference bzw. Adobe PhotoshopCS5 JavaScript Scripting Reference oder im Visual Basic-Objektkatalog und im ExtendScript Object Model Viewer. Die Eigenschaften kind und text object der art layer-Klasse im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch.
VBS
JS
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
HINWEIS: Das Objekt text-object (TextItem/TextItem) hat die Eigenschaft kind (Kind/kind), die entweder auf point text (psPointText/TextType.POINTTEXT ) oder auf paragraph text (psParagraphText/TextType.PARAGRAPHTEXT ) festgelegt werden kann. Bei Erstellung eines neuen Objekts des Typs text-object wird dessen Eigenschaft kind automatisch auf point text eingestellt. Die text-object-Eigenschaften height, width und leading sind nur gltig, wenn die Eigenschaft kind des Textelements auf paragraph text gesetzt ist. Fhren Sie folgende Schritte aus, um sich mit den Objekten, Eigenschaften und Befehlen in der Dokumentation vertraut zu machen:
Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch die Eigenschaften und Methoden fr text-object nach. Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog die Eigenschaft TextItem des ArtLayer-Objekts nach. Um herauszufinden, welche Eigenschaften und Methoden Sie mit einer Textebene verwenden knnen, schlagen Sie das TextItem-Objekt nach.
Schlagen Sie im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer die Eigenschaft textItem des ArtLayer-Objekts nach. Um herauszufinden, welche Eigenschaften und Methoden Sie mit einer Textebene verwenden knnen, schlagen Sie das TextItem-Objekt nach.
Das Selection-Objekt ist ein untergeordnetes Objekt des Document-Objekts. Weitere Informationen erhalten Sie, wenn Sie Folgendes nachschlagen:
Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch den Befehl select nach. Schlagen Sie auerdem die Eigenschaft selection des Document-Objekts und das selection-object-Objekt nach. Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog Selection als Eigenschaft des Document-Objekts nach. Schlagen Sie auerdem Select als eine Methode des Selection-Objekts nach. Schlagen Sie im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer selection als Eigenschaft des Document-Objekts nach. Schlagen Sie auerdem select als eine Methode des Selection-Objekts nach.
HINWEIS: Sie knnen kein neues Selection-Objekt erstellen. Die Eigenschaft selection (Selection/selection) des Document-Objekts enthlt bereits ein Selection-Objekt fr das Dokument. Geben Sie den Bereich fr die Auswahl mit dem Befehl select (Select/select) an.
Verwenden Sie die x-Achse, um die horizontale Position auf der Arbeitsflche anzugeben. Verwenden Sie die y-Achse, um die vertikale Position auf der Arbeitsflche anzugeben.
Der Ursprung in Photoshop, also die Stelle, an der die Werte fr die x- und die y-Achse 0 sind, befindet sich in der linken oberen Ecke des Bildschirms. Die entgegengesetzte Ecke (rechts unten) ist der Extrempunkt der Arbeitsflche. Wenn die Gre Ihrer Arbeitsflche z.B. 1000x1000 Pixel betrgt, ist der Wert fr die xund die y-Achse in der rechten unteren Ecke 1000. Geben Sie Koordinatenpunkte an, die die Form beschreiben, die Sie als Array auswhlen mchten, das dann zum Argument oder Parameterwert fr den Befehl select/Select/select() wird. In den folgenden Beispielen wird davon ausgegangen, dass als Linealeinheit Pixel ausgewhlt wurden und dass auf folgende Weise eine Auswahl erstellt wird: 1. Erstellen einer Variable fr ein neues Dokument mit einer Gre von 500x500 Pixeln. 2. Erstellen einer Variable fr die Koordinaten, die den ausgewhlten Bereich (also das Selection-Objekt) beschreiben. 3. Hinzufgen eines Arrays als Variablenwert der Auswahl. 4. Verwenden der Eigenschaft selection des Document-Objekts und des Befehls select des Selection-Objekts zur Auswahl eines Bereichs. Die Koordinaten des Bereichs sind die Werte der Auswahlvariablen. 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
VBS
JS
var docRef = app.documents.add(500, 500) var shapeRef = [ [0,0], [0,100], [100,100], [100,0] ] docRef.selection.select(shapeRef)
VBS
JS
einer weichen Kante versehen werden. Dabei wird ein Wert von 5Pixeln verwendet. Beispiele zum ndern der Linealeinheiten finden Sie im Abschnitt Festlegen von Anwendungsvoreinstellungen auf Seite 32. AS
expand selection of current document by pixels 5 contract selection of current document by pixels 5 feather selection of current document by pixels 5 Dim selRef Set selRef = appRef.ActiveDocument.Selection selRef.Expand 5 selRef.Contract 5 selRef.Feather 5
VBS
JS
VBS
JS
So fllen Sie die aktuelle Auswahl mit dem zehnten Element im Protokollobjekt: HINWEIS: Weitere Informationen zu History State-Objekten finden Sie unter Verwenden von HistoryState-Objekten auf Seite 47. 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])
(psSelectedAreaAlphaChannel)/ ChannelType.SELECTEDAREA). Die folgenden Beispiele verwenden den Befehl store (Store/store()) des Selection-Objekts, um die aktuelle Auswahl in einem Kanal mit dem Namen My Channel zu speichern und die Auswahl um jede beliebige Auswahl zu erweitern, die zurzeit in diesem Kanal gespeichert ist. AS
set myChannel to make new channel of current document with properties {name:"My Channel", kind::selected area channel} store selection of current document into channel "My Channel" of current document combination type extended Set chanRef = docRef.Channels.Add chanRef.Name = "My Channel" chanRef.Kind = 3 'psSelectedAreaAlphaChannel docRef.Selection.Store docRef.Channels("My Channel"), 2 'PsSelectionType is 2 (psExtendSelection)
VBS
JS
var chanRef = docRef.channels.add() chanRef.name = "My Channel" chanRef.kind = ChannelType.SELECTEDAREA docRef.selection.store(docRef.channels["My Channel"], SelectionType.EXTEND)
Zum Wiederherstellen einer Auswahl, die in einem Channel-Objekt gespeichert wurde, verwenden Sie die Methode 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) selRef.load (docRef.channels["My Channel"], SelectionType.EXTEND)
VBS JS
Beispiele zum Kopieren, Ausschneiden und Einfgen von Auswahlen finden Sie unter Verwenden der Zwischenablage auf Seite 54.
AS VBS JS
set kind of myChannel to selected area channel channelRef.ind = 3 'for psSelectedAreaAlphaChannel 'from the constant value PsChannelType channelRef.kind = ChannelType.SELECTEDAREA
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
Weitere Informationen zu anderen Informationstypen (Eigenschaften), die Sie einem Dokument zuordnen knnen, erhalten Sie folgendermaen:
Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch die Eigenschaften fr die Klasse info-object nach. Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference bzw. Adobe PhotoshopCS5 JavaScript Scripting Reference, im Visual Basic-Objektkatalog oder im ExtendScript Object Model Viewer die Eigenschaften fr das Objekt DocumentInfo nach.
AS VBS JS
set current history state of current document to history state 1 of current document docRef.ActiveHistoryState = docRef.HistoryStates(1) docRef.activeHistoryState = docRef.historyStates[0]
HINWEIS: Wenn Sie ein Dokument auf einen frheren Status zurcksetzen, werden sptere Statusangaben nicht aus der Protokollsammlung entfernt. Verwenden Sie den Befehl Purge, um sptere Statusangaben aus der History States-Sammlung zu entfernen:
Im unten stehenden Beispiel wird der aktuelle Status gespeichert, ein Filter angewendet und das Dokument anschlieend auf das gespeicherte Protokollobjekt zurckgesetzt. 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
HINWEIS: Bei innerhalb eines Skripts ablaufenden Ereignissen erfolgt in der Regel keine Benachrichtigung, da diese Ereignisse in einem AdobeScriptAutomation Scripts-Ereignis eingebettet sind. AS
tell application "Adobe Photoshop CS5" try delete notifiers end try make new notifier with properties {event:"Opn ", event file:alias "OS X 10.5.8 US:Users:psauto:Desktop:Welcome.jsx"} end tell Dim appRef,eventFile Set appRef = CreateObject("Photoshop.Application") appRef.NotifiersEnabled = True eventFile = appRef.Path & "Presets\Scripts\Event Scripts Only\Welcome.jsx" appRef.Notifiers.Add "Opn ", eventFile
VBS
JS
app.notifiersEnabled = true var eventFile = new File(app.path + "/Presets/Scripts/Event Scripts Only/Welcome.jsx") app.notifiers.add("Opn ", eventFile)
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 '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)
JS
Volltonfarben-Klassen
Im Folgenden finden Sie eine bersicht ber die in Photoshop verfgbaren Farbklassen. Farbklassen VolltonFarbe
RGBFarbe
CMYKFarbe
Graue Farbe
HSBFarbe
LabFarbe
Keine Farbe
Schlagen Sie Folgendes im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach:
Im Abschnitt Objects (Objekte) die Eigenschaft foreground color der Klasse application Im Abschnitt Commands (Befehle) den Befehl convert
VBS
Das folgende Skript verwendet eine If Then-Anweisung und die Eigenschaft model des SolidColor-Objekts zum Feststellen des verwendeten Farbmodells. Die If Then-Anweisung gibt ein SolidColor-Objekt zurck. Wenn sie ein RGB-Objekt zurckgibt, ermglicht die Eigenschaft cmyk des SolidColor-Objekts es Ihnen, ber das CMYK-quivalent auf die Farbe zuzugreifen.
Dim someColor If (someColor.model = 2) Then someColor.cmyk 'someColor.model = 2 indicates psColorModel --> 2 (psRGBModel) End If
Schlagen Sie Folgendes im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach:
model und cmyk als Eigenschaften des SolidColor-Objekts
JS
In diesem Beispiel wird die Eigenschaft foregroundColor des Application-Objekts zum Abrufen der ursprnglichen Farbe verwendet, die konvertiert werden soll. Die Eigenschaft cmyk des SolidColor-Objekts, auf die foregroundColor verweist, bietet die Mglichkeit, auf das CMYK-quivalent der RGB-Farbe zuzugreifen.
var someColor = foregroundColor.cmyk
Schlagen Sie Folgendes im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach:
cmyk als eine Eigenschaft des SolidColor-Objekts foregroundColor als eine Eigenschaft des Application-Objekts
if equal colors foreground color with background color then If (appRef.ForegroundColor.IsEqual(appRef.BackgroundColor)) Then if (app.foregroundColor.isEqual(backgroundColor))
AS
Verwenden Sie den Befehl filter und geben Sie anschlieend die Ebene, den Namen des Filters und alle erforderlichen Optionen an.
filter current layer of current document using gaussian blur with options {radius:5}
HINWEIS: Schlagen Sie im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch den Befehl filter und die Klasse filter options nach. VBS
appRef.docRef.ActiveLayer.ApplyGaussianBlur 5
HINWEIS: Schlagen Sie im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog die Methode ApplyGaussianBlur sowie andere Methoden des ArtLayer-Objekts nach, deren Name mit Apply beginnt. JS
docRef.activeLayer.applyGaussianBlur(5)
HINWEIS: Schlagen Sie im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer die Methode applyGaussianBlur() sowie andere Methoden des artLayer-Objekts nach, deren Name mit apply beginnt.
Sonstige Filter
Wenn der Filtertyp, den Sie in Ihrer Ebene verwenden mchten, nicht Teil der Skripting-Oberflche ist, knnen Sie den Filter mithilfe des Action Manager in JavaScript ausfhren. Wenn Sie AppleScript oder VBScript verwenden, knnen Sie das JavaScript von Ihrem Skript aus aufrufen. Informationen zum Verwenden des Action Manager finden Sie unter Action Manager auf Seite 73. Siehe auch Ausfhren von JavaScripts aus AS oder VBS auf Seite 10.
HINWEIS: Informationen zu den Funktionen copy, copy merged, paste, paste into und cut finden Sie in der Hilfe zu Photoshop.
HINWEIS: Wenn Sie mit Ihrem Skript ein neues Dokument erstellen, in das Sie den Inhalt der Zwischenablage einfgen, stellen Sie sicher, dass das Dokument dieselbe Linealeinheit verwendet wie das ursprngliche Dokument. Weitere Informationen finden Sie unter Festlegen von Anwendungsvoreinstellungen auf Seite 32. AS HINWEIS: Unter MacOS muss sich Photoshop im Vordergrund befinden, wenn diese Befehle ausgefhrt werden. Sie mssen den Befehl activate zum Aktivieren der Anwendung ausfhren, bevor Sie Befehle fr die Zwischenablage ausfhren.
tell application "Adobe Photoshop CS5" activate select all of current document copy set current layer of current document to layer "Background" of current document set newDocRef to make new document paste newDocRef end tell
VBS
'make firstDocument the active document Set docRef = 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
Schlagen Sie die Methode Copy fr ArtLayer- und Selection-Objekte im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach. JS
docRef.selection.copy(true)
Schlagen Sie die Methode copy() fr ArtLayer- und Selection-Objekte im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach.
Ein Grafiklineal, das fr die meisten grafischen Layoutmae oder -vorgnge in einem Dokument verwendet wird, bei denen Hhe, Breite oder Position angegeben werden. Die Maeinheit fr das Grafiklineal legen Sie mithilfe der Eigenschaft ruler units (RulerUnits/rulerUnits) fest.
Ein Textlineal, das bei Verwendung des Textwerkzeugs aktiv ist. Die Maeinheit fr das Textlineal legen Sie mithilfe der Eigenschaft type units (TypeUnits/typeUnits) fest.
HINWEIS: Diese Einstellungen entsprechen jenen im Dialogfeld Voreinstellungen von Photoshop, auf die Sie ber Photoshop> Voreinstellungen> Maeinheiten& Lineale (MacOS) bzw. Bearbeiten> Voreinstellungen> Maeinheiten& Lineale (Windows) zugreifen.
Maeinheitenwerte
Alle Sprachen untersttzen bei Maeinheitenwerten gewhnliche Zahlen. Diese Werte werden so behandelt, als ob sie in dem Typ vorlgen, der zurzeit fr das entsprechende Lineal angegeben ist. Wenn als Linealeinheit z.B. Zoll ausgewhlt ist, wird mit folgender VBScript-Anweisung die Gre eines Dokuments auf 3Zollx3Zoll festgelegt:
docRef.ResizeImage 3,3
Wre als Linealeinheit Pixel ausgewhlt, wre das Dokument 3Pixelx3Pixel gro. Stellen Sie sicher, dass Sie mit Skripten die gewnschten Ergebnisse erzielen, indem Sie die Linealeinheiten berprfen und auf den fr Ihr Skript erforderlichen Typ einstellen. Nach dem Ausfhren eines Skripts sollten die ursprnglichen Werte der Linealeinstellungen wiederhergestellt werden, wenn sie durch das Skript gendert wurden. Hinweise zum Festlegen von Maeinheitenwerten finden Sie unter Festlegen von Lineal- und Texteinheiten in einem Skript auf Seite 59. Informationen zu den verfgbaren Datentypen fr Maeinheitenwerte finden Sie in der Hilfe zu Photoshop.
Die Werte, die in Photoshop fr eine auf Maeinheiten basierende Eigenschaft verwendet werden, werden als Wert des aktuellen Linealtyps zurckgegeben. Das Abrufen der Hhe des oben erstellten Dokuments mit
set docHeight to height of current document
gibt einen Wert von 5,0 zurck, der auf der Grundlage der aktuellen Linealeinstellungen 5Zoll entspricht. In AppleScript knnen Sie optional einen Eigenschaftswert als bestimmten Typ abfragen.
set docHeight to height of current document as points
Hierdurch wird ein Wert von 360 zurckgegeben (5Zollx 72Punkt pro Zoll). Bei den Datentypen fr die Maeinheiten points und picas handelt es sich um PostScript-Punkte mit 72Punkt pro Zoll. Die Datentypen fr die Maeinheiten traditional points und traditional picas basieren auf traditionellen Schriftsatzwerten mit 72,27Punkt pro Zoll. Sie knnen einen Wert fr Maeinheiten aus einem Maeinheitentyp in einen anderen konvertieren oder erzwingen. Mit dem folgenden Skript konvertieren Sie z.B. einen Punktwert in einen Zollwert.
set pointValue to 72 as points set inchValue to pointValue as inches
Wenn dieses Skript ausgefhrt wird, enthlt die Variable inchValue den Zollwert 1, also 72Punkt in Zoll konvertiert. Diese Mglichkeit der Konvertierung ist Teil der AppleScript-Sprache. HINWEIS: Die Maeinheitenwerte cm units und mm units knnen nicht in dieser Weise mit einem entsprechenden Verweis auf cm oder mm verwendet werden. Sie werden nicht von der AppleScript-Terminologie untersttzt.
HINWEIS: In AppleScript knnen Sie Werte als Pixel- oder Prozentwerte abrufen oder festlegen, wie Sie das auch mit allen anderen Datentypen fr Maeinheiten tun wrden. Es ist jedoch nicht mglich, einen Pixel- oder Prozentwert in einen anderen Lngenwert fr Maeinheiten zu konvertieren, wie dies mit andern Lngenwerten fr Maeinheiten mglich ist. Der Versuch, das folgende Skript auszufhren, fhrt zu einem Fehler.
set pixelValue to 72 as pixels -- Next line will result in a coercion error when run set inchValue to pixelValue as inches
HINWEIS: Da es sich bei Photoshop um eine pixelorientierte Anwendung handelt, erhalten Sie mglicherweise nicht immer dieselben Werte, die Sie beim Festlegen eines Wertes bermitteln. Wenn fr ruler units z.B. die Maeinheit mm ausgewhlt ist und Sie ein Dokument von 30x30 erstellen, wird fr die Hhe bzw. Breite der Wert 29,99 zurckgegeben, wenn die Dokumentauflsung auf 72ppi eingestellt ist. Die Skripting-Oberflche geht davon aus, dass Einstellungen in ppi gemessen werden.
Fhren Sie zum Verwenden der Tabelle einen der folgenden Schritte aus:
Schlagen Sie die Eigenschaften der Klasse im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach. Schlagen Sie die Eigenschaft des Objekts im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference bzw. Adobe PhotoshopCS5 JavaScript Scripting Reference, im Visual Basic-Objektkatalog oder im ExtendScript Object Model Viewer nach. Eigenschaften in AppleScript
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
Klasse/Objekt
Document
Eigenschaften in VBScript
Height Width Height Width Height Width Height Width HorizontalOffset VerticalOffset BaselineShift* FirstLineIndent* Height HyphenationZone* Leading* LeftIndent* Position RightIndent* SpaceBefore* SpaceAfter* Width
Eigenschaften in 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
* Auf Textlinealeinheiten basierende Maeinheitenwerte. In der folgenden Tabelle sind die Befehle aufgelistet, die Maeinheitenwerte als Parameter oder Argumente verwenden. In einigen Fllen sind die Parameter erforderlich. Den VBScript- und JavaScript-Methoden sind die Objekte vorangestellt, zu denen sie gehren. So verwenden Sie diese Tabelle:
Bei AppleScript-Befehlen schlagen Sie den Befehl im Kapitel Commands (Befehle) des Handbuchs Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach. Bei VBScript-Methoden schlagen Sie die Methode in der Tabelle Methods (Methoden) fr das Objekt im Kapitel Interface (Schnittstelle) des Handbuchs Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach. Bei JavaScript-Methoden schlagen Sie die Methode in der Tabelle Methods (Methoden) fr das Objekt im Kapitel Object Reference (Objektverweise) des Handbuchs Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach.
AppleScript
crop (bounds, height, width) resize canvas (height, width) resize image (height, width) contract (by) expand (by) feather (by) select border (width) translate (delta x, delta y) translate boundary (delta x, delta y)
VBScript
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)
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)
VBS
In VBScript sind RulerUnits und TypeUnits Eigenschaften des Preferences-Objekts, auf das Sie ber die Eigenschaft Preferences des Application-Objekts zugreifen (siehe unten).
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
In JavaScript sind rulerUnits und typeUnits Eigenschaften des Preferences-Objekts, auf das Sie ber die Eigenschaft preferences des Application-Objekts zugreifen (siehe unten).
app.preferences.rulerUnits = Units.INCHES app.preferences.typeUnits = TypeUnits.PIXELS app.preferences.pointSize = PointType.POSTSCRIPT
HINWEIS: Vergessen Sie nicht, die Maeinheiteneinstellungen am Ende eines Skripts wieder auf die ursprnglichen Werte zurckzusetzen. Ein Beispiel hierfr finden Sie unter Arbeiten mit Voreinstellungen fr Dokumente auf Seite 61.
Beschreibung Speichert Ebenenkomp. als Dateien. Speichert Ebenenkomp. als PDF-Prsentation. Speichert Ebenenkomp. als Web-Fotogalerie. Exportiert jede Ebene im Dokument in eine separate Datei. Aktiviert und deaktiviert Notifier-Objekte. Verarbeitet Camera Raw-Bilder in verschiedenen Dateiformaten. Ldt separate Dateien in einen Bildstapel in nur einem Dokument. Kombiniert mehrere Bilder mit der gleichen Szene oder dem gleichen Bild und erfasst dabei den dynamischen Bereich einer Szene in einem HDR-Bild (High Dynamic Range).
Erweiterte Skripterstellung
In diesem Abschnitt wird gezeigt, wie Sie die Informationen aus den vorhergehenden Abschnitten dieses Kapitels zum Erstellen von Skripten verwenden knnen, die folgende Aufgaben ausfhren:
Konfigurieren von Voreinstellungen fr Dokumente Anwenden von Farbe auf Textelemente In diesem Abschnitt erfahren Sie auch, wie Sie folgende Aufgaben ausfhren knnen:
Erstellen eines Verweises auf ein vorhandenes Dokument. Erstellen eines Ebenenobjekts und Umwandeln der Ebene in eine Textebene.
Rastern von Text, sodass die Verarbeitungsmethoden wave und blur auf Wrter angewendet werden knnen. In diesen Abschnitten erfahren Sie auch, wie Sie folgende Aufgaben ausfhren knnen:
Auswhlen und Bearbeiten eines bestimmten Bereichs einer Ebene durch Erstellen eines Auswahlobjekts. Anwenden von Schwingungen-Filtern und Weichzeichnern auf den ausgewhlten Text.
HINWEIS: Wenn Sie die Lektionen in den folgenden Abschnitten abgeschlossen haben, speichern Sie die Skripten, die Sie in den Lektionen erstellt haben. Jede Lektion baut auf dem Skript auf, das in der vorherigen Lektion erstellt wurde.
Erweiterte Skripterstellung 61
Erweiterte Skripterstellung 62
--check to see whether any documents are open --if none are found, create a document --use the default document settings as its properties if (count of documents) is 0 then make new document with properties {width:theDocWidthInInches, height:theDocHeightInInches, resolution:theDocResolution, name:theDocString} end if --change the settings back to the original units stored in the variables set ruler units of settings to theStartRulerUnits set type units of settings to theStartTypeUnits set display dialogs to theStartDisplayDialogs end tell
2.
Whlen Sie in Photoshop Photoshop> Voreinstellungen> Maeinheiten & Lineale, um sicherzustellen, dass die Voreinstellungen auf die ursprnglichen Einstellungen zurckgesetzt wurden.
3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie es, ohne es zu speichern. 4. Speichern Sie das Skript unter dem Namen HelloWorldDoc. VBS So arbeiten Sie mit Voreinstellungen fr Dokumente: 1. Erstellen Sie das folgende Skript. Weitere Informationen finden Sie unter Erstellen und Ausfhren eines VBScripts auf Seite 19.
'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
Erweiterte Skripterstellung 63
'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.
Whlen Sie in Photoshop Bearbeiten> Voreinstellungen> Maeinheiten & Lineale, um sicherzustellen, dass die Voreinstellungen auf die ursprnglichen Einstellungen zurckgesetzt wurden.
3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie es, ohne es zu speichern. 4. Speichern Sie das Skript unter dem Namen HelloWorldDoc. JS So arbeiten Sie mit Voreinstellungen fr Dokumente: 1. Erstellen Sie das folgende Skript. HINWEIS: Weitere Informationen zum Erstellen eines JavaScript finden Sie unter Erstellen und Ausfhren eines JavaScripts auf Seite 19.
//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. Speichern Sie das Skript unter dem Namen HelloWorldDoc.jsx im Ordner Vorgaben/Skripten. 3. ffnen Sie Photoshop und whlen Sie Datei> Skripten> HelloWorldDoc, um das Skript auszufhren. 4. Whlen Sie Bearbeiten> Voreinstellungen > Maeinheiten & Lineale, um sicherzustellen, dass die Voreinstellungen auf die ursprnglichen Einstellungen zurckgesetzt wurden. 5. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie es, ohne es zu speichern. 6. Speichern Sie das Skript.
Erweiterte Skripterstellung 64
Vergewissern Sie sich, dass Photoshop nicht ausgefhrt wird. ffnen Sie die Skriptdatei HelloWorldDoc in Ihrem Skripteditor.
AS
So erstellen Sie Details in einem Textelement und legen sie fest: 1. Geben Sie den folgenden Code in das Skript HelloWorldDoc ein, und zwar direkt vor den Anweisungen am Ende der Datei, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen.
--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. Fhren Sie das komplette Skript aus. Ihre Befehle werden nacheinander in Photoshop ausgefhrt. Dies kann einige Zeit in Anspruch nehmen. 3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie es, ohne es zu speichern. HINWEIS: Schlagen Sie die folgenden Klassen im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach, um sicherzugehen, dass Sie verstehen, wie die Klassen in diesem Skript verwendet werden:
RGB color -Klasse art layer -Klasse
Erweiterte Skripterstellung 65
VBS
So erstellen Sie Details in einem Textelement und legen sie fest: 1. Geben Sie den folgenden Code in das Skript HelloWorldDoc ein, und zwar direkt vor den Anweisungen am Ende der Datei, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen.
'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. Fhren Sie das komplette Skript aus. Ihre Befehle werden nacheinander in Photoshop ausgefhrt. Dies kann einige Zeit in Anspruch nehmen. 3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie es, ohne es zu speichern. HINWEIS: Schlagen Sie die folgenden Klassen im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach, um sicherzugehen, dass Sie verstehen, wie die Klassen in diesem Skript verwendet werden:
SolidColor ArtLayer
Erweiterte Skripterstellung 66
JS
So erstellen Sie Details in einem Textelement und legen sie fest: 1. Geben Sie den folgenden Code in das Skript HelloWorldDoc ein, und zwar direkt vor den Anweisungen am Ende der Datei, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen.
//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. Speichern Sie das Skript, ffnen Sie Photoshop und whlen Sie das Skript unter Datei> Skripten> HelloWorldDoc aus. Ihre Befehle werden nacheinander in Photoshop ausgefhrt. Dies kann einige Zeit in Anspruch nehmen. 3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie Photoshop, ohne das Dokument zu speichern. HINWEIS: Schlagen Sie die folgenden Klassen im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach, um sicherzugehen, dass Sie verstehen, wie die Klassen in diesem Skript verwendet werden:
SolidColor ArtLayer. Beachten Sie, dass der Wert LayerKind.TEXT der Eigenschaft kind die Konstante LayerKind verwendet. In Photoshop werden Konstanten in JavaScripts immer in Grobuchstaben dargestellt.
Einstellen der Dokumentenbreite und -hhe auf Pixel und anschlieendes Rastern des Textobjekts in der Textebene. HINWEIS: Da es sich bei Text um eine Vektorgrafik handelt und Schwingungen-Filter nicht auf Vektorgrafiken angewendet werden knnen, mssen wir das Bild zunchst in ein Bitmap konvertieren. Beim Rastern werden mathematisch definierte Vektorgrafiken in Pixel konvertiert. Weitere Informationen zum Rastern finden Sie in der Hilfe zu Photoshop.
Whlen Sie den Bereich der Ebene aus, auf den wir den Schwingungen-Filter anwenden mchten.
Erweiterte Skripterstellung 67
HINWEIS: Unter Definieren des Bereichs eines Auswahlobjekts auf Seite 67 finden Sie Informationen zum Code im Skript, das fr diese Aufgabe erforderlich ist.
Wenden Sie einen Schwingungen-Filter auf die Auswahl an. HINWEIS: Bei der Schwingung handelt es sich um eine beschnittene Sinuskurve.
deren Koordinate der Gesamtzahl der Dokumentspalten geteilt durch 2 entspricht. HINWEIS: Der Wert fr theDocWidthInPixels ist die Gesamtzahl der Pixel, die die horizontale Dimension des Dokuments bestimmt. Spalten werden horizontal angeordnet.
0 bezeichnet die oberste Zeile im Dokument.
Koordinate der Gesamtzahl der Dokumentzeilen entspricht. HINWEIS: Der Wert fr theDocHeightInPixels ist die Gesamtzahl der Pixel, die die vertikale Dimension des Dokuments bestimmen. Zeilen werden vertikal angeordnet.
Erweiterte Skripterstellung 68
AS
So whlen Sie einen Bereich aus und wenden einen Schwingungen-Filter darauf an: 1. Geben Sie den folgenden Code in die Skriptdatei HelloWorldDoc ein, und zwar direkt vor den Anweisungen, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen:
--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. Whlen Sie Ausfhren, um das Skript auszufhren. 3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie es, ohne es zu speichern. 4. Speichern Sie das Skript im Skripteditor. HINWEIS: Schlagen Sie die folgenden Klassen im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach, um sicherzugehen, dass Sie verstehen, wie die Klassen in diesem Skript verwendet werden:
wave filter-Klasse art layer-Klasse: Befehl rasterize, Befehl filter document-Klasse: Befehl select, Parameter combination type
Erweiterte Skripterstellung 69
VBS
So whlen Sie einen Bereich aus und wenden einen Schwingungen-Filter darauf an: 1. Geben Sie den folgenden Code am Ende der Skriptdatei HelloWorldDoc ein, und zwar direkt vor den Anweisungen, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen:
'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. Doppelklicken Sie im Windows-Explorer auf den Dateinamen, um das Skript auszufhren. 3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie es, ohne es zu speichern. 4. Speichern Sie das Skript. HINWEIS: Schlagen Sie die folgenden Klassen im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach, um sicherzugehen, dass Sie verstehen, wie die Klassen in diesem Skript verwendet werden:
ArtLayer-Klasse: ApplyWave-Methode, Rasterize -Methode Selection-Klasse: Select-Methode
Erweiterte Skripterstellung 70
JS
So whlen Sie einen Bereich aus und wenden einen Schwingungen-Filter darauf an: 1. Geben Sie den folgenden Code in die Skriptdatei HelloWorldDoc ein, und zwar direkt vor den Anweisungen, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen:
//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. Speichern Sie das Skript, ffnen Sie Photoshop und whlen Sie das Skript unter Datei> Skripten> HelloWorldDoc aus. 3. Wenn Sie das Dokument in Photoshop berprft haben, schlieen Sie Photoshop, ohne das Dokument zu speichern. HINWEIS: Schlagen Sie die folgenden Klassen im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach, um sicherzugehen, dass Sie verstehen, wie die Klassen in diesem Skript verwendet werden:
ArtLayer rasterize()-Methode. Beachten Sie, dass das Argument RasterizeType.TEXTCONTENTS die Konstante RasterizeType verwendet. In Photoshop werden Konstanten in JavaScripts immer in
Grobuchstaben dargestellt.
Methode applyWave()
Erweiterte Skripterstellung 71
2. Whlen Sie Ausfhren, um das Skript auszufhren. HINWEIS: Schlagen Sie die motion blur-Klasse im Handbuch Adobe PhotoshopCS5 AppleScript Scripting Reference oder im Photoshop-AppleScript-Wrterbuch nach, um sicherzugehen, dass Sie verstehen, wie die Klasse in diesem Skript verwendet wird: VBS So wenden Sie einen Bewegungsunschrfe-Filter auf HelloWorldDoc an: 1. Geben Sie den folgenden Code in die Skriptdatei HelloWorldDoc ein, und zwar direkt vor den Anweisungen, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen.
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. Doppelklicken Sie im Windows-Explorer auf die Datei, um das Skript auszufhren. HINWEIS: Schlagen Sie die ApplyMotionBlur-Methode der ArtLayer-Klasse im Handbuch Adobe PhotoshopCS5 Visual Basic Scripting Reference oder im Visual Basic-Objektkatalog nach, um sicherzugehen, dass Sie verstehen, wie die Klasse in diesem Skript verwendet wird:
Erweiterte Skripterstellung 72
JS
So wenden Sie einen Bewegungsunschrfe-Filter auf HelloWorldDoc an: 1. Geben Sie den folgenden Code in die Skriptdatei HelloWorldDoc ein, und zwar direkt vor den Anweisungen, die zur Wiederherstellung der ursprnglichen Voreinstellungen dienen.
//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. Speichern Sie das Skript, ffnen Sie Photoshop und whlen Sie das Skript unter Datei> Skripten> HelloWorldDoc aus. HINWEIS: Schlagen Sie die applyMotionBlur()-Methode der ArtLayer-Klasse im Handbuch Adobe PhotoshopCS5 JavaScript Scripting Reference oder im ExtendScript Object Model Viewer nach, um sicherzugehen, dass Sie verstehen, wie die Methode in diesem Skript verwendet wird:
Action Manager
Mit Photoshop-Aktionen knnen Sie wiederkehrende Aufgaben automatisieren und dadurch Zeit sparen. Das Erstellen und Ausfhren von Aktionen erfolgt in der Benutzeroberflche der Anwendung ber die Aktionen-Palette. Sie knnen Aktionen auerdem unter Verwendung des Dienstprogramms Action Manager in Skripten verwalten. Mit dem Action Manager lassen sich Skripten fr Photoshop-Funktionen schreiben, die in der Skripting-Oberflche sonst nicht zugnglich sind, beispielsweise Zusatzmodule und Filter von Drittanbietern. Einzige Voraussetzung fr den Einsatz des Action Managers: Die Aufgabe, auf die Sie mit dem Action Manager zugreifen mchten, muss aufgezeichnet werden knnen. In diesem Kapitel wird beschrieben, wie Sie den Action Manager und die Objekte der darin enthaltenen Skripting-Oberflche einsetzen.
ScriptListener-Zusatzmodul
Bevor Sie den Action Manager verwenden knnen, mssen Sie das Zusatzmodul ScriptListener installieren. ScriptListener zeichnet eine Datei mit Skriptcode auf, der den von Ihnen in der Benutzeroberflche ausgefhrten Aktionen entspricht. TIPP: Da die meisten Aktionen von ScriptListener aufgezeichnet werden, sollten Sie ScriptListener nur installieren, wenn Sie Action Manager-Skripten erstellen mchten. Wenn Sie ScriptListener dauerhaft installiert lassen, entstehen groe Dateien, die Speicherplatz auf der Festplatte belegen. Auerdem kann die Ausfhrung von Photoshop dadurch verlangsamt werden. Wenn Sie in Photoshop eine Aufgabe oder Aufgabenserie ausfhren, erstellt ScriptListener mehrere Dateien, die Code fr die Aktionen in Photoshop enthalten:
ScriptingListenerJS.log mit JavaScript-Code ScriptingListenerVB.log mit VBScript-Code (nur Windows)
ScriptListener legt diese Dateien auf dem Desktop bzw. Schreibtisch an. HINWEIS: Es gibt keine AppleScript-Schnittstelle fr den Action Manager. Sie knnen jedoch ber ein AppleScript auf den Action Manager zugreifen, indem Sie ein JavaScript aus AppleScript heraus ausfhren. Siehe Ausfhren von Action Manager-Code auf JavaScript-Basis aus AppleScript auf Seite 80.
3. ffnen Sie Photoshop. HINWEIS: Wenn Photoshop bereits geffnet ist, schlieen Sie das Programm und starten Sie es neu. Sie sorgen so dafr, dass das Zusatzmodul in Photoshop geladen werden kann.
73
Action Manager-Skriptobjekte
74
So deinstallieren Sie ScriptListener: 1. Schlieen Sie Photoshop. 2. Vergewissern Sie sich, dass sich im Ordner ..\AdobePhotoshopCS5\Scripting\Hilfsprogramme noch immer eine Kopie der Datei ScriptListener.8li befindet. 3. Lschen Sie die Datei ScriptListener.8li aus dem folgenden Verzeichnis:
..\Adobe Photoshop CS\Plug-Ins\Automate
4. Lschen Sie die Protokolldateien ScriptingListenerJS.log und ScriptingListenerVB.log vom Desktop bzw. Schreibtisch. HINWEIS: Unter Windows werden eventuell auch nach dem Entfernen von ScriptListener aus dem Ordner Automatisieren Aktionen damit aufgezeichnet. Wenn Sie verhindern mchten, dass die Datei ScriptingListenerJS.log zu gro wird, lschen Sie sie nach jedem Anwenden einer Photoshop-Aktion.
Action Manager-Skriptobjekte
Die Objekte Action Descriptor, Action List und Action Reference gehren zum Funktionsumfang des Action Managers. Ausfhrliche Informationen zu diesen Objekten finden Sie im zugehrigen Referenzhandbuch. Alternativ knnen Sie Informationen aus dem Objektkatalog fr die verwendete Sprache beziehen. HINWEIS: Diese Objekte stehen in AppleScript nicht zur Verfgung.
75
Unter Windows befinden sich die Protokolldateien auf dem Desktop. Unter MacOS befinden sich die Protokolldateien auf dem Schreibtisch.
Der Code am Ende der Datei wird hnlich aussehen wie der folgende Code (mglicherweise mit anderen Zahlen):
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);
HINWEIS: ScriptListener trennt protokollierte Befehle durch horizontale Linien aus Gleichheitszeichen (=====...). Wenn die aktuelle Aktion nicht die erste Aktion ist, die im Protokoll aufgezeichnet wurde, knnen Sie die zuletzt aufgezeichnete Aktion schnell finden, da sie auf die letzte Linie aus Gleichheitszeichen folgt. 2. Kopieren Sie den zur Relief-Aktion gehrenden JavaScript-Code aus der Datei ScriptListenerJS.log in eine andere Datei, die den Namen emboss.jsx trgt. 3. Suchen Sie im Skript emboss.jsx die Werte, die Sie fr den Filter verwendet haben (135, 3 und 100). Ersetzen Sie die Werte der Filterspezifikation durch Variablennamen. Im folgenden Beispiel wurde 135 durch angle (Winkel) ersetzt, 3 durch height (Hhe) und 100 durch amount (Strke).
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 );
76
4. Binden Sie den Code in eine JavaScript-Funktion ein. Im folgenden Beispiel ist emboss der Name der Funktion.
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. Um den Relief-Filter mit einem JavaScript auf ein Dokument anzuwenden, beziehen Sie die emboss-Funktion in das JavaScript ein und rufen Sie die Funktion mit den gewnschten Parametern auf. Im folgenden Beispiel wird der Relief-Filter mit dem Winkel75, der Hhe2 und der Strke89 angewendet. (Informationen ber das Schreiben des Codes zum ffnen eines Dokuments innerhalb des Skripts finden Sie unter ffnen eines Dokuments auf Seite 28.)
// 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 ); }
6. ffnen Sie Photoshop, um den Relief-Filter anzuwenden, indem Sie Datei> Skripten> Durchsuchen whlen und dann zum Speicherort Ihres Skripts emboss.jsx wechseln. Whlen Sie ffnen, um das Skript auszufhren.
77
So erstellen Sie ein VBScript aus der ScriptListener-Ausgabe: 1. ffnen Sie die Datei ScriptingListenerVB.log vom Desktop bzw. Schreibtisch aus. Der Code am Ende der Datei wird hnlich aussehen wie der folgende Code (mglicherweise mit anderen Zahlen):
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, 135 ) DIM id11 id11 = objApp.CharIDToTypeID( "Hght" ) Call desc4.PutInteger( id11, 3 ) DIM id12 id12 = objApp.CharIDToTypeID( "Amnt" ) Call desc4.PutInteger( id12, 100 ) Call objApp.ExecuteAction( id9, desc4, dialogMode )
HINWEIS: ScriptListener trennt protokollierte Befehle durch horizontale Linien aus Gleichheitszeichen (====...). Wenn die aktuelle Aktion nicht die erste Aktion ist, die im Protokoll aufgezeichnet wurde, knnen Sie die zuletzt aufgezeichnete Aktion schnell finden, da sie auf die letzte Linie aus Gleichheitszeichen folgt. 2. Kopieren Sie den zur Relief-Aktion gehrenden VBScript-Code aus der Datei ScriptListenerVB.log in eine andere Datei, die den Namen emboss.vbs trgt. 3. Suchen Sie im Skript emboss.vbs die Werte, die Sie fr den Filter verwendet haben (135, 3 und 100). Ersetzen Sie die Werte der Filterspezifikation durch Variablennamen. Im folgenden Beispiel wurde 135 durch angle (Winkel), 3 durch height (Hhe) und 100 durch amount (Strke) ersetzt.
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 )
78
4. Binden Sie den Code in eine VBScript-Funktion ein. Im folgenden Beispiel ist Emboss der Name der Funktion. Die Erstellung des Photoshop-Application-Objekts muss auerhalb der Funktion erfolgen, wie in der Beschreibung zum nchsten Schritt noch erlutert wird.
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. Um den Relief-Filter mit einem VBScript auf ein Dokument anzuwenden, beziehen Sie die emboss-Funktion in das Skript ein und rufen Sie die Funktion mit den gewnschten Parametern auf. Im folgenden Beispiel wird der Relief-Filter mit dem Winkel75, der Hhe2 und der Strke89 angewendet. Bevor das Skript die Funktion aufruft, muss ein Dokument geffnet worden sein. (Informationen ber das Schreiben des Codes zum ffnen eines Dokuments innerhalb des Skripts finden Sie unter ffnen eines Dokuments auf Seite 28.) Da das Skript ein Dokument ffnet, ist beim Aufrufen der Methode Application .Open ein Zugriff auf das Photoshop-DOM erforderlich. Das Skript muss deshalb das Photoshop.Application object before it opens a new document.
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 )
79
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.
erstellen. Wenden Sie das Relief-Filterskript an, indem Sie auf die Datei emboss.vbs doppelklicken. Dadurch wird Photoshop gestartet, die Datei geffnet und der Relief-Filter auf die Datei angewendet.
2. Fgen Sie am Ende der Datei emboss.jsx die folgende JavaScript-Codezeile ein. Durch diesen Code wird die emboss-Funktion mit Argumenten ausgefhrt, die durch externen Aufruf bergeben wurden. Weitere Informationen zum bergeben von Argumenten aus einem VBScript in ein JavaScript finden Sie im Handbuch Introduction to Scripting.
// Call emboss with values provided in the "arguments" collection emboss( arguments[0], arguments[1], arguments[2] );
3. Aus einem VBScript knnen Sie den Relief-Filter dann wie folgt aufrufen (bei diesem Beispiel wird angenommen, dass emboss.jsx sich im Verzeichnis C:\ befindet):
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)
2. Fgen Sie am Ende der Datei emboss.jsx die folgende JavaScript-Codezeile ein. Durch diesen Code wird die emboss-Funktion mit Argumenten ausgefhrt, die durch externen Aufruf bergeben wurden. Weitere Informationen zum bergeben von Argumenten aus einem AppleScript in ein JavaScript finden Sie im Handbuch Introduction to Scripting.
// Call emboss with values provided in the "arguments" collection emboss( arguments[0], arguments[1], arguments[2] );
3. Mit dem folgenden Beispiel fr AppleScript-Code wird ein Dokument geffnet und der Relief-Filter darauf angewendet:
tell application "Adobe Photoshop CS5" set theFile to alias Application:Documents:MyFile open theFile do javascript (file <path to Emboss.jsx>) with arguments { 75,2,89 } end tell
81
4. Die Methode executeAction fhrt die Aktion von einem Skript aus; die Ereignis-ID muss dabei die auszufhrende Aktion identifizieren. Das erste Argument, in diesem Fall id14, liefert der Methode die Ereignis-ID. Sie sehen die Variable id14, die einige Zeilen davor definiert wurde. Sie zeigt, dass mit der Aktion Dokument ffnen die Ereignis-ID "Opn " verbunden ist. 5. Nun knnen Sie unter Verwendung dieser Ereignis-ID eine Ereignisbenachrichtigung bei Dokument ffnen durch Ihre Skripten einrichten. Beispiel fr JavaScript:
var eventFile = new File(app.path + "/Presets/Scripts/Event Scripts Only/Welcome.jsx") app.notifiers.add( "Opn ", eventFile)
Suchen der Ereignis-ID und Klassen-ID fr das Ereignis Neu 1. Vergewissern Sie sich, dass das ScriptListener-Zusatzmodul installiert ist. 2. ffnen Sie Photoshop und erstellen Sie mit dem Befehl Datei> Neu ein neues Dokument. 3. Erstellen Sie dann in der Kanle-Palette ber das Symbol Neuen Kanal erstellen einen neuen Kanal. 4. Suchen Sie die ScriptListener-Protokolldatei und ffnen Sie sie. Sie knnen entweder die VBScript-Protokolldatei oder die JavaScript-Protokolldatei verwenden. Es wurden zwei Aktionen aufgezeichnet, daher sind die beiden letzten durch Gleichheitszeichen getrennten Abschnitte der Datei relevant. Der Code in der JavaScript-Protokolldatei wird hnlich wie der folgende Code aussehen:
82
// ======================================================= 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 ); // ======================================================= 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. Der erste Abschnitt enthlt den Skriptcode zum Ausfhren des Ereignisses Neues Dokument. Der zweite Abschnitt enthlt den Skriptcode fr das Ereignis Neuer Kanal.
83
6. Die Methode executeAction nimmt fr beide Aktionen ein Argument entgegen, dessen Wert als "Mk " definiert ist. (Siehe id17 und id34.) Dies ist die Ereignis-ID fr die Aktion Neu. Fr diese Aktion muss auch die zu verwendende Klasse bekannt sein, die Klassen-ID fr das Ereignis. 7. Die Methode putObject identifiziert die Klasse, bei der die Aktion ausgefhrt wird. Das zweite Argument von putObject liefert die bentigte Klassen-ID. Bei der ersten Aktion ist id33 als "Dcmn" definiert, bei der zweiten Aktion ist id45 als "Chnl" definiert. Damit werden die Klassen-IDs fr Dokument bzw. Kanal bereitgestellt. 8. Nun knnen Sie mit diesen Ereignis- und Klassen-IDs eine Ereignisbenachrichtigung bei den Ereignissen Neues Dokument und Neuer Kanal durch Ihre Skripten einrichten. Beispiel fr 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
Action Manager aus JavaScript verwenden, 75 aus VBScript verwenden, 76 JavaScript-Code aus AppleScript ausfhren, 80 JavaScript-Code aus VBScript ausfhren, 79 Skriptobjekte, 74 berblick, 73 Adobe Photoshop-Objektmodell, 11, 33 Aktionen Unterschiede zu Skripten, 8 verwenden, 73 Aktionenbedienfeld, 73 Aktive Objekte einrichten, 25 Anzeige-Dialogfelder, 33 AppleScript ausfhren, 18 erstellen, 18 JavaScript ausfhren, 10 Konventionen, 6 berlegungen zu Einheitenwerten, 56 Applescript Wrterbuch anzeigen, 21 Application-Objekt Anzeige-Dialogfelder, 33 aufrufen, 22 Bezug zur Benutzeroberflche, 14 berblick, 12 Verweise, 22 verwenden, 34 Art Layer-Objekt Bezug zur Benutzeroberflche, 15 erstellen, 37 Filter, 53 in JavaScript hinzufgen, 25 in VBScript hinzufgen, 24 Stile anwenden, 40 Textebene erstellen, 41 berblick, 12 Verweise, 38 verwenden, 36 Auf eine Ebene reduzierte Kopien, 55 Auswahlbereichkanle, 13
B
Bedingungslogik, 8 Befehle anzeigen, 21 Konventionen, 7 Berechnungen, Einheitenwerte, 57 Bilder, Komposition ndern, 12
C
Channel-Objekt aktiven Kanal festlegen, 28 aktivieren, 28 Bezug zur Benutzeroberflche, 15 Typ ndern, 46 berblick, 13 verwenden, 46 Channel-Objekt, Arten, 13 Color Sampler-Objekt Bezug zur Benutzeroberflche, 15 berblick, 14 Color-Objekt im DOM, 16 Color-Objekte abrufen und konvertieren, 52 auf Text anwenden, 64 Hexadezimalwerte festlegen, 52 berblick, 51 vergleichen, 53 verwenden, 51 Volltonfarben-Klassen, 52 websicher, 53 Count Item-Objekt Bezug zur Benutzeroberflche, 15 berblick, 14
D
Dateien Format angeben, 29 Format erkennen, 28 mit spezifischen Einstellungen ffnen, 29 ffnen, 28 speichern, 31 Dateierweiterungen Skriptdateien, 9
84
Index
85
Datentypen Konstanten, 16 Dialogfelder, steuern, 33 Die, 54 Document Info-Objekt Bezug zur Benutzeroberflche, 15 berblick, 13 verwenden, 47 Document-Objekt aktivieren, 26 Bezug zur Benutzeroberflche, 14 Dokumentinformationen, 47 hinzufgen, 24 manipulieren, 35 Maeinheitenwerte, 58 ffnen, 28 speichern, 31 berblick, 12 verwenden, 34 Dokumentobjektmodell (DOM), Siehe Objektmodell
H
Hello World-Skript, 1720 Hexadezimalfarbwerte festlegen, 52 Hierarchie, 11 History State-Objekt auf frheren Status zurcksetzen, 48 Bezug zur Benutzeroberflche, 15 lschen, 48 berblick, 13 verwenden, 47
J
JavaScript Action Manager verwenden, 75 aus AppleScript ausfhren, 10 aus VBScript ausfhren, 10 ausfhren, 10, 19 erstellen, 19 Konventionen, 6 Untersttzung, 10 Workflow-Automatisierungsbeispiel, 60
E
Eigenschaften Konventionen, 7 suchen, 21 Einfge-Befehle, 54 Einheiten als Eigenschaften, 57 als Parameter, 58 AppleScript-berlegungen, 56 festlegen, 59 in Argumenten, 58 in Berechnungen, 57 Sondertypen, 56 verwenden, 56 Werte, 56 Wertnutzung, 57 Enthaltenseinshierarchie, 11 EPS open options-Objekt, Maeinheitenwerte, 58 Ereignis-Benachrichtigung einrichten, 48 Ereignis-IDs mit ScriptListener suchen, 81
K
Klassen suchen, 21 Klassen-IDs mit ScriptListener suchen, 81 Komponentenkanle, 13 Konstanten suchen, 16, 21 berblick, 16 Konventionen, 6 Kopier- und Einfge-Befehle, 54 Kopieren, auf eine Ebene reduziert (Befehl), 55
L
Layer Comp-Objekt Bezug zur Benutzeroberflche, 15 berblick, 13 Layer Set-Objekt Bezug zur Benutzeroberflche, 15 erstellen, 38 berblick, 12 verwenden, 36, 39 Layer-Klassen, 12 Layer-Objekte aktivieren, 27 erstellen, 37 hinzufgen, 25 Stile zuweisen, 40 testen fr Textebenen, 41
F
Filter motionblur anwenden, 71 Schwingungen zuweisen, 6670 skriptfhig machen, 74 verwenden, 53 weitere, 54
Index
86
Typ bestimmen, 41 berblick, 12 verknpfen, 40 Verweise, 38 verwenden, 36 Lens flare open options-Objekt, Maeinheitenwerte, 58 Linealeinheiten festlegen, 59 berblick, 56 Werte, 56 Wertnutzung, 57 Logik, bedingte, 8
P
Path Item-Objekt Bezug zur Benutzeroberflche, 15 gerade Linie erstellen, 49 berblick, 14 Path Point-Objekt berblick, 14 PDF open options-Objekt, Maeinheitenwerte, 58 Pfade erstellen, 49 Photoshop-Objektmodell, 11 Preferences-Objekt Bezug zur Benutzeroberflche, 15 berblick, 14 Protokollobjekte berblick, 47
M
Maskierungsbereichkanle, 13 Maeinheiten Dokumentvoreinstellungen, 61 verwenden, 56 Measurement Scale-Objekt Bezug zur Benutzeroberflche, 15 berblick, 14 Metadaten berblick, 15 Methoden anzeigen, 21 Konventionen, 7 motionblur-Filter berblick, 71
S
Sammlungen, VBScript-Indizierung, 11 Save options-Klassen, 16 Schwingungen-Filter zuweisen, 6670 ScriptListener deinstallieren, 74 Ereignis-IDs suchen, 81 installieren, 73 Klassen-IDs suchen, 81 Protokolldateien, 73 Skripten aufzeichnen, 74 Selection-Objekt Bereich definieren, 67 Bezug zur Benutzeroberflche, 14 erstellen, 43 fllen, 45 invertieren, 44 Kontur zuweisen, 44 laden, 45 skalieren, 44 speichern, 45 berblick, 13 verwenden, 42 weiche Kanten hinzufgen, 44 wiederherstellen, 46 Skripteditor verwenden, 18 Skripten aufzeichnen, 74 ausfhren, 10 Dateispeicherorte, 10
N
Notifier-Objekt Bezug zur Benutzeroberflche, 15 Ereignis-IDs suchen, 81 Klassen-IDs suchen, 81 berblick, 14 verwenden, 48 Numerische Werte suchen, 21
O
Objekte Siehe auch einzelne Objekte Adobe Photoshop-Objektmodell, 11 aktivieren, 25 anzeigen, 21 Hierarchie, 11 in Skripten erstellen, 2325 Objektmodell Grundlagen, 11
Index
87
erstellen, 60 erweitert, 60 Fhigkeiten, 8 Funktionen, 9 gltige Dateierweiterungen, 9 Objekte erstellen, 2325 Start-Skripten, 10 berblick, 8 Unterschiede zu Aktionen, 8 Skriptsprachen Beispielskripten, 17 untersttzte, 9 Speichern von Dokumenten, 31 Start-Skripten, 10 Stile auf Ebenen anwenden, 40 Sub Path Item-Objekt berblick, 14
W
Websichere Farben, 53 Workflow-Automatisierung, JavaScript, 60
Z
Zuweisen von Konturen Auswahlen, 44 Text, 64 Zwischenablage-Befehle, 54
T
Text Ebenen, 41 Farbe zuweisen, 64 formatieren, 42 Kontur zuweisen, 64 Text Item-Objekt erstellen, 41 Maeinheitenwerte, 58 Text formatieren, 42 berblick, 12 verwenden, 41 Textebenen, 41 Texteinheiten festlegen, 59 berblick, 56 Type Library, VBScript, 22 Typographische Konventionen, 6
U
bergeordnete Objekte berblick, 26
V
VBScript Action Manager verwenden, 76 ausfhren, 19 erstellen, 19 JavaScript ausfhren, 10 Konventionen, 6 Type Library, 22 Volltonfarbenkanle, 13