|
#1
|
||||
|
||||
Photoshop JavaScript mittels ESTK 2
Hey Leute!
Ich wollte hier mal anfragen, ob sich jemand mit JavaScript und dem schreiben von Skripten für Photoshop auskennt. Ich bräuchte da dringend Hilfe. Was ich vor habe:
Was den ersten Punkt, das erstellen eines Dialogfensters angeht: Da hab ich schon eins, ich bekomm es aber zum einen überhaupt nicht in der Größe angepasst, zum anderen fehlt da noch eine Checkbox, für der mir auch der zugehörige Befehl fehlt. Ich könnte mir denken, wenn ich JavaScript drauf hätte, dann würd ich das Ding in 5-15 Minuten runter schreiben...doch ich kenn JavaScript eben nicht und kenn die Befehle für die in Photoshop auszuführenden Tätigkeiten nicht. Insofern würd ich mich wahnsinnig freuen, wenn sich das jemand zutraut bzw. die notwendige Ahnung davon hat. Ich bedanke mich schon mal im Voraus für alle die sich melden. Lieben Gruß, Euer Garion |
#2
|
||||
|
||||
Hi Bastian
Ich verstehe noch nicht so ganz, was du mit dem Dialogfenster erreichen möchtest. Sollen im Dialogfenster die aufgeführten Befehle als Schaltfläche dargestellt werden, damit du schneller Zugriff darauf hast? Du schreibst etwas von einem Befehl in Dialogfenster. Was soll das denn für ein Befehl sein? Vielleicht lässt sich das Ganze ja auch ohne Javascript erstellen |
#3
|
||||
|
||||
Jein! Ein Script für Photoshop lässt sich in 3 Programmiersprachen schreiben. Eine ausschließlich für iOS, eine ausschließlich für Windoofs und eben JavaScript als global verwendbare Sprache. Da ich möchte, dass sowohl MAC als auch PC Nutzer damit arbeiten können, muss es eben in JS sein.
Das Dialogfenster kann prinzipiell vernachlässigt werden und ist eher von niederer Priorität. Dort sollte lediglich eine Auswahl getroffen werden, auf dessen Grundlage dann die Arbeit mit hohen oder niedrig eingestellten Werten gestartet wird. Ich habe mitlerweile schon alleine heraus bekommen, wie man die HG-Ebene dupliziert, doch habe ich keine Ahnung, wie ich erfolgreich die just duplizierte Ebene auswähle. Denn angenommen ich starte das Script und habe eine Hintergrundebene ausgwählt, dann läufts. Wenn aber die HG-Ebene gar nicht HG-Ebene heißt, weil es eine Ebene weiter oben in der Ebenenstruktur ist, oder weil sie statt dessen 'Layer 1' heißt...wie wähle ich dann die just duplizierte Ebene aus? Ich kann also nicht zwingend vom Namen der Ebene ausgehen. Ich könnte auch vom Index der Ebene ausgehen (fängt bei der untersten Ebene bei 0 oder 1 an und erhöht sich mit jeder darüber liegenden Ebene um 1. Die oberste von 4 Ebenen hätte demnach den Index 4), denn wenn ich das Script in einem Dokument anwende welches bereits mehrere Ebenen aufweist, weiß das Script ja nicht, die wie vielte Ebene die markierte ist... Dann gäbe es da noch die Sache mit der eindeutigen und unverwechselbaren Ebenen-ID. Die bleibt immer gleich, auch wenn die Ebene nach oben oder unten verschoben wird. Wie genau das jetzt aber läuft, das weiß ich noch nicht. Allerdings scheint mir das die einzige Methode zu sein, zuverlässig die richtige Ebene als gerade eben duplizierte Ebene zu identifizieren....denn wie gesagt, egal wo in der Ebenenstruktur sich die aktuell markierte Ebene befindet...ob an 1., 4. oder 10. Stelle....ob nun die oberste/unterste Ebene, oder mitten zwischen vielen anderen Ebenen...ich möchte dass das Script die aktuell markierte Ebene dupliziert und dann das Duplikat auswählt. Einfach in Photoshop, total kompliziert in JavaScript. Für jede Hilfe wäre ich dankbar...denn das ist nicht der erste Stolperstein bei meinem Projekt und auch bestimmt nicht der letzte. |
#4
|
||||
|
||||
Ich sag mal so:
Ich habe vom Programmieren 0-Ahnung. Mein Interesse an deinem Projekt besteht jedoch. Ich verstehe leider immer noch nicht, was genau schlussendlich passieren soll Vielleicht stelle ich mich jetzt auch einfach zu blöd an, dann entschuldige ich mich, aber ich habe echt keine Ahnung, was du damit erreichen möchtest. |
#5
|
||||
|
||||
Also. Wenn ich Photoshop dazu bewegen möchte, einen fest vorgeschriebenen Arbeitsweg auszuführen, dann wäre es am leichtesten eine Aktion zu erstellen. Man führt das ganze Prozedere also einmal durch, während man das ganze dann als Aktion aufzeichnet. Fertig. Das just aufgezeichnete Prozedere kann immer wieder durch einen Klick auf "Start" in der Aktionspalette abgerufen und ausgeführt werden. Jeder einzelne Schritt wird dabei haar genau so von Photoshop ausgeführt, wie man es auch aufgezeichnet hat.
Man hat dann in der Aktionspalette seine Aktion "XYZ", die man gerade aufgenommen hat. Diese kann dann eingesehen werden und jeder Schritt der in ihr enthalten ist wird aufgelistet. Dort steht dann nicht nur, was ausgeführt wird, welche Einstellungen wie vorgenommen wurden, mann kann einzelne Punkte auch deaktivieren, den Dialog einschalten und die Werte abändern, einzelne Schritte sogar komplett raus nehmen oder neue hinzufügen. Kurzum, man kann rein theoretisch die ganze Aktion wieder total auseinander flücken, abändern, neu stricken, wie es einem gerade passt und in den Sinn kommt. Ein Script ist da anders. Im Endeffekt gesehen, macht ein Script ganz genau das Selbe, wie eine Aktion. Es führt zuvor fest gelegte Schritte ganz genau so durch, wie man sie eben fest gelegt hat und es sich wünscht. Jedoch wird ein Script nicht wie eine Aktion einfach aufgezeichnet, sondern es wird in einer Programmiersprache (JavaScript) programmiert. Der (für mich wichtige) Unterschied besteht nun darin, dass man ein vorhandenes Script nicht "einfach mal so" umändern, modifizieren oder manipulieren kann wie eine Aktion. Man kann auch "nicht einfach mal so" sehen was ein Script da eigentlich so genau macht oder wie es das macht, was es macht. Es gibt eine Möglichkeit einzusehen, was ein Script macht. Es gibt auch eine Möglichkeit Änderungen an dem Script vorzunehmen. Dafür braucht man dann jedoch wieder fundierte JavaScript Kenntnisse und darüber hinaus extrem viel Wissen um die Übersetzung der Photoshop-Befehle in JavaScript. Als Beispiel: Die derzeit aktive Ebene dupliziert man, indem man folgenden Code verwendet: Code:
activeDocument.layer.activeLayer.duplicate(); Und genau dieser Umstand macht das Script für mich so attraktiv. Genau dass ist es, was ich haben möchte. Das ist quasi, als hätte ich eine Aktion die ich abschließen kann...die niemand (oder eben nur Diejenigen die da wirklich Ahnung von haben) verändern kann. So. Ich brauche jemanden, der sich mit all dem Zeug ein wenig auskennt und mir behilflich sein kann. Und was genau schlussendlich passieren soll wird nicht verraten, denn dann wäre der Sinn des Scriptes ja weg...für mich zumindest. Natürlich könnte ich das komplette Ding auch komplett selbst programmieren...aber ich habe weder Kenntnisse von JavaScript, noch über die Übersetzung der Photoshop Befehle in JavaScript. Allein um herauszufinden wie man die HG-Ebene dupliziert habe ich volle 2 Tage gebraucht....volle 2 Tage Google-Suche, für etwas was man in Photoshop selbst mit nur einem einzigen Klick (bzw. der Tastenkombination +J) auf die HG Ebene erledigt hat, wenn man diese dann auf das -Symbol zieht. Man kann sich also vorstellen, dass ich dafür ewig und drei Tage brauchen werde...wenn ich soweit überhaupt alleine komme. Daher hier meine Anfrage. Ich hoffe das war nun verständlich genug, dass du meine Beweggründe und mein Vorhaben besser verstehen kannst. |
#6
|
||||
|
||||
Hallo!
Wenn man in PS eine Ebene dupliziert, dann ist dieses Duplikat danach die aktive Ebene. Ist das anders, wenn man via JS dupliziert? Denn sonst kannst du das Duplikat doch einfach mit "activeLayer" ansprechen. Diese Seite kennst du sicher schon? http://www.adobe.com/devnet/photoshop/scripting.html
__________________
Gruß Jenny _____________________ Live long and prosper! |
#7
|
||||
|
||||
Ja, die Seite kenn ich schon in- und auswendig. Bei meiner verzweifelten Suche nach den richtigen Befehlen bin ich zahlreiche Male drüber gestolpert.
Wenn man mit ESTK (JS Editor von Adobe) das bisherige Script "testet", dann springt der automatisch in PhotoShop und führt dort das Script aus. Das Problem ist aber, das dann nach dem Duplizieren immer die HG-Ebene aktiv bleibt....allerdings fällt mir gerade ein, ich weiß gar nicht, ob der nach beenden des scriptes vielleicht wieder in Ausgangsposition zurück springt. |
#8
|
||||
|
||||
Es wäre ja auch zu schön gewesen...
Aber vielleicht hilft dir diese Seite bei deinem Problem: http://matthiasschuetz.com/photoshop...ber-auswaehlen
__________________
Gruß Jenny _____________________ Live long and prosper! |
#9
|
||||
|
||||
Öööööööööööööööööööh! Jenny! Wo zum Teufel hast du diese Seite denn aufgetrieben? Wochenlange Google Recherche haben die nicht aufgezeigt...nicht bei mir. Das könnte echt den Durchbruch bringen! Super! Wie geil bist du denn??? Fette Sache. Krasses Pferd! Vielen Dank!
|
#10
|
||||
|
||||
Und jetzt werde ich hier auch noch als "krasses Pferd" beschimpft...
__________________
Gruß Jenny _____________________ Live long and prosper! |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Freistellen mittels Maskierungsmodus | Catoul | Fortgeschrittene Techniken | 4 | 22.04.10 16:57 |
Farbname mittels Pipettenwerkzeug | andu | Hilfestellung, Tipps und Tricks | 6 | 03.02.10 10:38 |
Javascript: Dimension der aktuellen Auswahl ermitteln | sebs | Hilfestellung, Tipps und Tricks | 4 | 14.11.08 19:09 |
JavaScript | hjt57 | Hilfestellung, Tipps und Tricks | 3 | 16.09.06 12:33 |
Javascript macht Firefox das Feuer aus | blindguard | Lounge | 1 | 09.12.05 13:58 |