Hier ein paar Scriptbeispiele (VBS):
Um eine Aktion öfters auszuführen:
Code:
anzahl=2 'Hier die Anzahl der Wiederholungen
Aktion="Aktion1" 'Hier den Namen der Aktion
Aktionsset="Aktionsset1" 'Hier den namen des Aktionssets
Set appref = CreateObject("Photoshop.Application")
Set docref=appref.ActiveDocument
For i=1 To anzahl
appRef.DoAction "Aktion1", "Aktionsset1"
Next
Um ein Objekt x Mal zu drehen: (Die Drehpunkte kann man dem Bild entnehmen):
Code:
winkel=30 'Hier den Winkel angeben
anzahl=11 'Hier die Anzahl der Wiederholungen
Drehpunkt=4 'Punkte siehe Bild
Set appref = CreateObject("Photoshop.Application")
Set docref=appref.ActiveDocument
Set layer=docref.ActiveLayer
For i=1 To anzahl
layer.duplicate
docref.ArtLayers (i).Rotate winkel*i, Drehpunkt
Next
Man kann auch für den Drehpunkt die Koordinaten direkt angeben, allerdings nur über den Umweg mit dem Scriptlistener. Das sieht dann so aus:
Code:
winkel=30
anzahl=2
x=100
y=200
Set appref = CreateObject("Photoshop.Application")
Set docref=appref.ActiveDocument
Set layer=docref.ActiveLayer
strtTypeUnits = appRef.Preferences.TypeUnits
appref.Preferences.RulerUnits = 1
For i=1 To anzahl
layer.duplicate
drehen Winkel,x,y
Next
appref.Preferences.RulerUnits=strtTypeUnits
Sub drehen(Winkel, x, y)
REM =======================================================
DIM objApp
SET objApp = CreateObject("Photoshop.Application")
REM Use dialog mode 3 for show no dialogs
DIM dialogMode
dialogMode = 3
DIM id1711
id1711 = objApp.CharIDToTypeID( "Trnf" )
DIM desc194
SET desc194 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id1712
id1712 = objApp.CharIDToTypeID( "null" )
DIM ref107
SET ref107 = CreateObject( "Photoshop.ActionReference" )
DIM id1713
id1713 = objApp.CharIDToTypeID( "Lyr " )
DIM id1714
id1714 = objApp.CharIDToTypeID( "Ordn" )
DIM id1715
id1715 = objApp.CharIDToTypeID( "Trgt" )
Call ref107.PutEnumerated( id1713, id1714, id1715 )
Call desc194.PutReference( id1712, ref107 )
DIM id1716
id1716 = objApp.CharIDToTypeID( "FTcs" )
DIM id1717
id1717 = objApp.CharIDToTypeID( "QCSt" )
DIM id1718
id1718 = objApp.CharIDToTypeID( "Qcsi" )
Call desc194.PutEnumerated( id1716, id1717, id1718 )
DIM id1719
id1719 = objApp.CharIDToTypeID( "Pstn" )
DIM desc195
SET desc195 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id1720
id1720 = objApp.CharIDToTypeID( "Hrzn" )
DIM id1721
id1721 = objApp.CharIDToTypeID( "#Rlt" )
Call desc195.PutUnitDouble( id1720, id1721, x )
DIM id1722
id1722 = objApp.CharIDToTypeID( "Vrtc" )
DIM id1723
id1723 = objApp.CharIDToTypeID( "#Rlt" )
Call desc195.PutUnitDouble( id1722, id1723, y )
DIM id1724
id1724 = objApp.CharIDToTypeID( "Pnt " )
Call desc194.PutObject( id1719, id1724, desc195 )
DIM id1725
id1725 = objApp.CharIDToTypeID( "Ofst" )
DIM desc196
SET desc196 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id1726
id1726 = objApp.CharIDToTypeID( "Hrzn" )
DIM id1727
id1727 = objApp.CharIDToTypeID( "#Rlt" )
Call desc196.PutUnitDouble( id1726, id1727, 0.000000 )
DIM id1728
id1728 = objApp.CharIDToTypeID( "Vrtc" )
DIM id1729
id1729 = objApp.CharIDToTypeID( "#Rlt" )
Call desc196.PutUnitDouble( id1728, id1729, -0.000000 )
DIM id1730
id1730 = objApp.CharIDToTypeID( "Ofst" )
Call desc194.PutObject( id1725, id1730, desc196 )
DIM id1731
id1731 = objApp.CharIDToTypeID( "Angl" )
DIM id1732
id1732 = objApp.CharIDToTypeID( "#Ang" )
Call desc194.PutUnitDouble( id1731, id1732, Winkel )
Call objApp.ExecuteAction( id1711, desc194, dialogMode )
End Sub
Für alle Scripte gilt:
-lauffähig ab PS7
-nur für Windows
-Script in eine neue Textdatei kopieren, als 'Irgendwas.vbs' speichern und per Doppelklick starten.