Kreis unterteilen

In PS (ab Version 7) lässt sich nahezu alles automatisieren.
Kopiere folgenden Code in eine neue Textdatei und nenne sie 'irgendwas.vbs'
Voraussetzung ist PS7 (incl. Scripterweiterung) oder höher:

Code:
Option Explicit

Dim appref
Set appref = CreateObject("Photoshop.Application")
Dim docref
Set docref = appref.ActiveDocument
dim startRulerUnits
startRulerUnits=appRef.Preferences.RulerUnits
appref.Preferences.RulerUnits =5 'Pixel
dim B,X1,X2,Y1,Y2,delta,i,anz

docref.ArtLayers.Add
anz=CInt(InputBox ("Anzahl der Kreise angeben","Kreise",15))
B = CInt(InputBox ("Kreisstärke angeben","Kreise",10))
x1 = B
y1 = B
y2 = docref.Width - B
x2 = docref.Height - B
If docref.width > docref.height then 
	delta = (docref.height / 2 - B) / anz
else 
	delta = (docref.Width / 2 - B) / anz
End If
For i = 1 To anz
    scriptlist x1, y1, x2, y2
    docref.Selection.Stroke appref.ForegroundColor, B
    x1 = x1 + delta
    y1 = y1 + delta
    x2 = x2 - delta
    y2 = y2 - delta
Next
appRef.Preferences.RulerUnits=startRulerUnits

Sub scriptlist(x1, y1, x2, y2)
DIM dialogMode
dialogMode = 3
Dim objApp
Set objApp = CreateObject("Photoshop.Application")
Dim id21
id21 = objApp.CharIDToTypeID("setd")
    Dim desc4
    Set desc4 = CreateObject("Photoshop.ActionDescriptor")
    Dim id22
    id22 = objApp.CharIDToTypeID("null")
        Dim ref1
        Set ref1 = CreateObject("Photoshop.ActionReference")
        Dim id23
        id23 = objApp.CharIDToTypeID("Chnl")
        Dim id24
        id24 = objApp.CharIDToTypeID("fsel")
        Call ref1.PutProperty(id23, id24)
    Call desc4.PutReference(id22, ref1)
    Dim id25
    id25 = objApp.CharIDToTypeID("T   ")
        Dim desc5
        Set desc5 = CreateObject("Photoshop.ActionDescriptor")
        Dim id26
        id26 = objApp.CharIDToTypeID("Top ")
        Dim id27
        id27 = objApp.CharIDToTypeID("#Pxl")
        Call desc5.PutUnitDouble(id26, id27, x1) 
        Dim id28
        id28 = objApp.CharIDToTypeID("Left")
        Dim id29
        id29 = objApp.CharIDToTypeID("#Pxl")
        Call desc5.PutUnitDouble(id28, id29, y1)
        Dim id30
        id30 = objApp.CharIDToTypeID("Btom")
        Dim id31
        id31 = objApp.CharIDToTypeID("#Pxl")
        Call desc5.PutUnitDouble(id30, id31, x2)
        Dim id32
        id32 = objApp.CharIDToTypeID("Rght")
        Dim id33
        id33 = objApp.CharIDToTypeID("#Pxl")
        Call desc5.PutUnitDouble(id32, id33, y2)
    Dim id34
    id34 = objApp.CharIDToTypeID("Elps")
    Call desc4.PutObject(id25, id34, desc5)
    Dim id35
    id35 = objApp.CharIDToTypeID("AntA")
    Call desc4.PutBoolean(id35, True)
Call objApp.ExecuteAction(id21, desc4, dialogMode)

End Sub
Ablauf: Erstelle in neues Dokument (vorzugsweise quadratisch) in beliebiger Größe, anschliessend Doppelklick auf die vbs Datei und zurücklegen :-)

Script geändert, da es nur bei quadratischen Dokumenten fehlerfrei lief.
Gruß hotschen
 
Zuletzt bearbeitet:
wie geht das jetzt nochmal? Inhalt des grauen Kastens kopieren und in einen Editor Einfügen. Dann irgendwas.vba nennen und dann Photoshop öffne. Wo und wie soll ich dann darauf klicken? Sorry bin NUBI
 
Quelltext kopieren und im Texteditor einfügen. Jetzt als irgendwas.vbs (nicht .vba) speichern.
PhotoShop öffnen und eine Neue Datei anlegen. Anschließend einfach nur die vbs-Datei anklicken. Ist doch gar nicht so schwehr.

Axel
 
Also wenn ich Photoshop aufmache und dann zu Eigene Dateien gehe, geschiet nichs, außer das sich die Datei öffnet und ich den ganzen Quelltext sehe.
Vielleicht könntest du mir einfach ein Scrennshoot machen wie das genau geht?
Würde mich rießig freuen
 
Also nochmal Schritt für Schritt:
1. Öffne einen Editor deiner Wahl (z.B. Notepad)
2. Kopiere den Code (ja richtig, das in dem grauen Kasten ;) ) und füge ihn beim Editor ein
3. Speichere die Datei an einem beliebigen Ort mit dem Namen 'kreise.vbs' (nicht vba)
4. Öffne Photoshop und erstelle ein neues Dokument beliebiger Grösse
5. Gehe in den Explorer, wähle den Ordner wo du die Datei gespeichert hast
6. Doppelklick auf die Datei
7. Zurücklehnen und entspannen
 
SORRY Wenn ich schwer von Begriff bin aber welchen Explorer meint ihr und wie komme ich von Photoshop dorthin? Gibt es da ein Kürzel?
 
Es handelt sich um den ganz normalen Windowsexplorer. Wenn du auf die Datei klickst, wird sie normalerweise automatisch ausgeführt.
 
Zurück