Anzeige
Tutorialbeschreibung

Uhr erstellen mit PS unter Zuhilfenahme eines Scriptes

Uhr erstellen mit PS unter Zuhilfenahme eines Scriptes

In diesem Tutorial wird erklärt, wie man sich unter Zuhilfenahme eines Scriptes die Arbeit mit Photoshop wesentlich erleichtern kann. Gezeigt wird das Ganze am Beispiel einer Uhrenskala.



Vorraussetzung:
-PS CS(2) oder PS7 mit Scriptunterstützungsplugin
- Windows
- Texteditor (Notepad reicht)
 
Vorbereitung:
Kopiert folgenden Code in eine neue Textdatei und speichert sie als 'Skala.vbs'
 
Option Explicit
Dim appref, docref, winkel, anzahl, Drehpunkt, i, layer
 
winkel=6                     'Hier den Winkel angeben
anzahl=59                    'Hier die Anzahl der Wiederholungen
Drehpunkt=4               'Punkte siehe Bild
  
Set appref = CreateObject("Photoshop.Application")
If appref.Documents.count=0 Then     
            MsgBox "Es muß ein Dokument in PS geöffnet sein!"
            WScript.Quit
Else
            Set docref=appref.ActiveDocument
End If
 
Set layer=docref.ActiveLayer
 
For i=1 To Anzahl
            layer.duplicate 
            docref.ArtLayers (i).Rotate Winkel*i, Drehpunkt
Next
 
1. neues Dokument in PS erstellen (bei mir 500x500px)
2. Kreis zeichnen
 
Bilder
 
3. neue Ebene
4. waagerechte Linie vom Mittelpunkt des Kreises zeichnen (bei mir 4px)
 
Bilder
 
5. Script editieren und die richtigen Werte für Winkel und Anzahl eingeben (in diesem Fall Winkel=30, Anzahl=11)
6. Script speichern und per Doppelklick starten
7. Hintergrundebenen (Uhr, Kontur etc.) ausblenden
[i]8. mit Shift+Strg+E Sichbare auf eine Ebene reduzieren. Will man Zeiger erstellen, erübrigt sich dieser Schritt) [/i]
 
 
Bilder
 
Je nachdem wie man die waagerechten Striche gezeichnet hat (z.B. per Buntstift), kann es vorkommen, dass sie nicht komplett mittig sind. Dann einfach mit dem Verschiebewerkzeug ('V') nach dem zusammenführen mittig ausrichten. (Die Hilfslinien habt ihr ja)
 
9. Punkt 3 bis 8 wiederholen mit geringerer Linienstärke, Winkel=6, Anzahl=59
 
 
Bilder
 
 
10. Kreisförmige Auswahl aufziehen und bei gedrückter Alt-Taste eine Ebenenmaske für die Stundenskala erstellen
 
 
Bilder
 
 
11. Siehe Pkt.10 für die Minutenskala
 
 
Bilder
 
 
12. Uhr nach Belieben weiterbearbeiten
 
 
 
Bilder
 

Erläuterungen zum Script: (Einsteigertutorials gibts hier und hier)
 
Option Explicit
Dim appref, docref, winkel, anzahl, Drehpunkt, i, layer
 
'Option Explicit' bedeutet, dass alle Variablen deklariert werden müssen. (Geschieht in der nächsten Zeile mit dem Befehl 'Dim') Dies ist zwar unter VB(S) nicht zwingend erforderlich, aber ratsam.
 
winkel=30                'Hier den Winkel angeben
anzahl=11                'Hier die Anzahl der Wiederholungen
Drehpunkt=4           'Zahlen siehe Bild
 
Hier werden den Variablen die Werte zugeordnet. Will man immer was um insgesamt 360° drehen, kann man statt der Anzahl auch die Formel '=360/winkel-1' eingeben. ('-1', weil ja schließlich schon eins gezeichnet ist)
Die Drehpunkte sind definiert:
Bilder
 
Set appref = CreateObject("Photoshop.Application")
Es wird ein Photoshopobjekt erstellt und der Variablen 'appref' zugewiesen.
 
If appref.Documents.count=0 Then
Wenn die Anzahl der geöffneten Dokumente in Photoshop=0 ist, dann
 
            MsgBox "Es muß ein Dokument in PS geöffnet sein!"
            WScript.Quit
Gib eine Meldung aus, dass ein Dokument geöffnet sein muß und beende dann das Script
 
Else
ansonsten
 
            Set docref=appref.ActiveDocument
weise der Variable 'docref' eine Referenz zum im Vordergrund befindlichen Dokument zu.
 
End If
beendet die Bedingung
 
Set layer=docref.ActiveLayer
weist der Variablen layer eine Referenz der aktuell gewählte Ebene zu. Diese muß die mit unserem Strich sein.
 
For i=1 To Anzahl
Führt eine Schleife in Einerschritten von 1 bis Anzahl aus, wobei die Variable 'i' jeweils um 1 erhöht wird . 'Anzahl' haben wir oben den Wert 11 zugewiesen. Man könnte hier statt 'Anzahl' auch diekt 11 schreiben, müsste dann aber bei jeder Änderung diese Stelle suchen und ersetzen.
 
            layer.duplicate
Wir erinnern uns...'layer' hat eine Referenz zur aktuellen Ebene, die durch den Befehl dupliziert wird
 
            docref.ArtLayers (i).Rotate Winkel*i, Drehpunkt
Man kann die einzelnen Ebenen eines Dokuments direkt mit dem 'Artlayer-Object' ansprechen.
Beispiel: 'artlayer(1)' bezeichnet die oberste Ebene. Da 'i' in jedem Schleifendurchgang um 1 erhöht wird, wird, bspw. im 5. Durchgang (i=5), Ebene 5 angesprochen ( artlayer(i) )
'Rotate' sagt, dass die Ebene gedreht werden soll. Der Syntax sieht so aus: 'artlayer().rotate [i]Winkel, Referenzpunkt[/i]'
 
Next
Beginne die Schleife von vorn.
 
 
Ich weiß, ich kann solche Sachen nicht sonderlich gut beschreiben, aber bei Fragen...immer raus damit.
 
Gruß hotschen 

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von jackmacneill
  • 04.01.2011 - 16:30

Die Idee finde ich super von dir! Werd mich gleich mal ran machen und es selber ausprobieren ;-)

Portrait von Deathman
  • 13.11.2010 - 15:04

bin auch der Meinung

Portrait von OutOfControl
  • 31.10.2010 - 12:38

könnte ausführlicher sein...

bin da der gleichen Meinung

Portrait von hudev
  • 12.10.2010 - 10:21

Und wie TICKT die Uhr jetzt?

Portrait von abe0202
  • 18.02.2010 - 12:18

könnte ausführlicher sein...

Portrait von n0zem
  • 15.02.2010 - 10:19

Shöne einfuhrnung,leider ist in der titel nicht erwahnt das hier vbsript verwendet werd sicher anfanger werden an das bild nicht die sprache erkennen. Für Mac user dehalb auch ziemlich nutzlos.

@fdert diese link ist auf englisch vieleicht hat adobe das hier auch in deutsch ist in jeden fall alles was man zum scripten braucht. http://www.adobe.com/devnet/photoshop/scripting/

Portrait von Klaus1007
  • 30.12.2009 - 18:55

geil kull wäre noch skript was die uhr zum funktionieren bringen könnte

Portrait von fdert
  • 25.10.2009 - 12:16

sowas braucht das Land...gibt es irgendwo ne Docu für PS zum Scripten? leider findet man sehr wenig darüber

Portrait von dammer289
  • 16.10.2009 - 23:39

Sehr hilfreich und gut erklärt. Danke

Portrait von DerDudinger
  • 13.08.2009 - 11:56

gleich mal ausprobieren, danke

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 29.07.2009 - 23:10

echt n prima tut ... werd ich doch glatt mal ausprobieren.

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 21.05.2009 - 08:50

Super erläutert. Danke

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 21.05.2009 - 08:50

sehr hilfreich dein tut, könnte mir helfen werd ich mal ausprobieren

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 21.05.2009 - 08:50

ich find das toll das versuch ich auf jeden fall mal , danke

Portrait von CaroCat
  • 21.04.2009 - 10:45

ich find das toll das versuch ich auf jeden fall mal , danke

Portrait von Gobbo
  • 14.12.2008 - 20:21

wenn das nicht der HAMMA!!! is...

Portrait von Yannick137
  • 10.12.2008 - 17:54

Nett gemacht, ich werde es mal versuchen



lg Yannick

Portrait von nikeee13
  • 04.11.2008 - 21:38

bei mir fehlt der zeiger auch. jetzt wäre es noch besser, wenn man das ganze animiert machen kann, um es auf eine website einzubauen.

Portrait von mrmo5
  • 21.09.2008 - 20:44

nice gemacht ^^
praktisch ^^

Portrait von Chroker
  • 18.09.2008 - 14:14

finde es auch ganz gut... eben schon mal getestet... allerdings fehlt mir immmer der erste zeiger (wenn ich bei 15 Minuten mein Strich setze dann lässt er die 16 Minute aus obwohl die angabe auf 59 gesetzt wurde. Setze ich die Aanzahl auf 60 habe ich die 15 Minute doppelt. das gleich auch bei der 20 Minute bei den 5er Schritten) trotzdem *****

wenn jemand eine lösung hat warum das so ist... bin ich sehr dankbar

LG Chroker

x
×
×