News und Tutorials zu Adobe Photoshop

[GastForen Programme Print/Bildbearbeitung Adobe Photoshop Werte einer Einstellungsebene per Script ändern

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Werte einer Einstellungsebene per Script ändern

J.Puff
Beiträge gesamt: 226

15. Nov 2014, 19:11
Beitrag # 1 von 7
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Abend,
ich benötige einen Tipp, wie ich per Script die Werte einer Einstellungsebene (Selektive Farbkorrektur) ändern kann.
Leider werden durch das ScriptingListener.plugin keine Aufzeichnungen dazu gespeichert.

Vielen Dank für eine Hilfe!
J. Puff
X

Werte einer Einstellungsebene per Script ändern

pixxxelschubser
Beiträge gesamt: 1634

15. Nov 2014, 20:06
Beitrag # 2 von 7
Beitrag ID: #534053
Bewertung:
(2540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Welche PS-Version?

Und ja doch – der ScriptListener zeichnet die Einstellungen auf. (Du must die Änderungen aber auch durchführen.)

Hier einmal ein (nicht bereinigter) Auszug, der dir (auf jeden Fall in PS CS3) eine Einstellungsebene mit Änderung der Rottöne (Magenta + 48% und Gelb +55% relativ) erstellt. (Selbstredend muss dafür PS geöffnet sein und ein offenes Dokument vorhanden sein)
;)

Code
var id5 = charIDToTypeID( "Mk  " ); 
var desc3 = new ActionDescriptor();
var id6 = charIDToTypeID( "null" );
var ref1 = new ActionReference();
var id7 = charIDToTypeID( "AdjL" );
ref1.putClass( id7 );
desc3.putReference( id6, ref1 );
var id8 = charIDToTypeID( "Usng" );
var desc4 = new ActionDescriptor();
var id9 = charIDToTypeID( "Type" );
var desc5 = new ActionDescriptor();
var id10 = charIDToTypeID( "Mthd" );
var id11 = charIDToTypeID( "CrcM" );
var id12 = charIDToTypeID( "Rltv" );
desc5.putEnumerated( id10, id11, id12 );
var id13 = charIDToTypeID( "ClrC" );
var list1 = new ActionList();
var desc6 = new ActionDescriptor();
var id14 = charIDToTypeID( "Clrs" );
var id15 = charIDToTypeID( "Clrs" );
var id16 = charIDToTypeID( "Rds " );
desc6.putEnumerated( id14, id15, id16 );
var id17 = charIDToTypeID( "Mgnt" );
var id18 = charIDToTypeID( "#Prc" );
desc6.putUnitDouble( id17, id18, 48.000000 );
var id19 = charIDToTypeID( "Ylw " );
var id20 = charIDToTypeID( "#Prc" );
desc6.putUnitDouble( id19, id20, 55.000000 );
var id21 = charIDToTypeID( "ClrC" );
list1.putObject( id21, desc6 );
desc5.putList( id13, list1 );
var id22 = charIDToTypeID( "SlcC" );
desc4.putObject( id9, id22, desc5 );
var id23 = charIDToTypeID( "AdjL" );
desc3.putObject( id8, id23, desc4 );
executeAction( id5, desc3, DialogModes.NO );




Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#534051]

Werte einer Einstellungsebene per Script ändern

J.Puff
Beiträge gesamt: 226

16. Nov 2014, 11:56
Beitrag # 3 von 7
Beitrag ID: #534054
Bewertung:
(2365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
danke für den Code. Wenn ich ihn teste wird eine neue Einstellungsebene angelegt. Gibt es eine Möglichkeit die Werte einer vorhandenen Einstellungsebene für die Selektive Farbkorrektur zu verändern?

Ich verwende PhotoShop CC 2014. Und leider wird die Änderung der Werte bei mir nicht im ScriptListener aufgezeichnet.

Vielen Dank,
J. Puff


als Antwort auf: [#534053]

Werte einer Einstellungsebene per Script ändern

pixxxelschubser
Beiträge gesamt: 1634

16. Nov 2014, 15:14
Beitrag # 4 von 7
Beitrag ID: #534057
Bewertung:
(2337 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich kann dir leider nichts zu CC oder CC2014 sagen. (Bin bisher „erfolgreicher Verweigerer“, aber das ist ein anderes Thema.)

Was in den Vorversionen immer funktioniert hat – ist das Aufzeichnen einer Änderung mit dem ScriptListener. Danach die entsprechenden Werte auslesen, den Code natürlich anschließend bereinigen und die zu ändernden Werte als Variablen einsetzen und per Prompt, Dialogfeld oder Konkordanzdatei abzufragen.

Mit dem folgenden (unbereinigten) Code werden die Werte für Rot- und Blautöne auf die auskommentierten Werte geändert. (Im Code sind allerdings keine Abfragen enthalten, ob tatsächlich die zu ändernde Einstellungsebene ausgewählt wurde.)

Code
// ======================================================= 
// verändert die Werte für Rottöne
// auf die Werte Magenta +24% und Gelb +32% (relativ)
var id24 = charIDToTypeID( "setd" );
var desc7 = new ActionDescriptor();
var id25 = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var id26 = charIDToTypeID( "AdjL" );
var id27 = charIDToTypeID( "Ordn" );
var id28 = charIDToTypeID( "Trgt" );
ref2.putEnumerated( id26, id27, id28 );
desc7.putReference( id25, ref2 );
var id29 = charIDToTypeID( "T " );
var desc8 = new ActionDescriptor();
var id30 = charIDToTypeID( "ClrC" );
var list2 = new ActionList();
var desc9 = new ActionDescriptor();
var id31 = charIDToTypeID( "Clrs" );
var id32 = charIDToTypeID( "Clrs" );
var id33 = charIDToTypeID( "Rds " );
desc9.putEnumerated( id31, id32, id33 );
var id34 = charIDToTypeID( "Mgnt" );
var id35 = charIDToTypeID( "#Prc" );
desc9.putUnitDouble( id34, id35, 24.000000 );
var id36 = charIDToTypeID( "Ylw " );
var id37 = charIDToTypeID( "#Prc" );
desc9.putUnitDouble( id36, id37, 32.000000 );
var id38 = charIDToTypeID( "ClrC" );
list2.putObject( id38, desc9 );
desc8.putList( id30, list2 );
var id39 = charIDToTypeID( "SlcC" );
desc7.putObject( id29, id39, desc8 );
executeAction( id24, desc7, DialogModes.NO );

// =======================================================
// verändert die Werte für Blautöne
// auf die Werte Cyan +15% und Magenta -17% (relativ)
var id40 = charIDToTypeID( "setd" );
var desc10 = new ActionDescriptor();
var id41 = charIDToTypeID( "null" );
var ref3 = new ActionReference();
var id42 = charIDToTypeID( "AdjL" );
var id43 = charIDToTypeID( "Ordn" );
var id44 = charIDToTypeID( "Trgt" );
ref3.putEnumerated( id42, id43, id44 );
desc10.putReference( id41, ref3 );
var id45 = charIDToTypeID( "T " );
var desc11 = new ActionDescriptor();
var id46 = charIDToTypeID( "ClrC" );
var list3 = new ActionList();
var desc12 = new ActionDescriptor();
var id47 = charIDToTypeID( "Clrs" );
var id48 = charIDToTypeID( "Clrs" );
var id49 = charIDToTypeID( "Bls " );
desc12.putEnumerated( id47, id48, id49 );
var id50 = charIDToTypeID( "Cyn " );
var id51 = charIDToTypeID( "#Prc" );
desc12.putUnitDouble( id50, id51, 15.000000 );
var id52 = charIDToTypeID( "Mgnt" );
var id53 = charIDToTypeID( "#Prc" );
desc12.putUnitDouble( id52, id53, -17.000000 );
var id54 = charIDToTypeID( "ClrC" );
list3.putObject( id54, desc12 );
desc11.putList( id46, list3 );
var id55 = charIDToTypeID( "SlcC" );
desc10.putObject( id45, id55, desc11 );
executeAction( id40, desc10, DialogModes.NO );




Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#534054]

Werte einer Einstellungsebene per Script ändern

J.Puff
Beiträge gesamt: 226

16. Nov 2014, 21:54
Beitrag # 5 von 7
Beitrag ID: #534065
Bewertung:
(2280 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
Herzlichen Dank für den Code, das klappt!
Allerdings würde ich gerne die Werte absolut ändern. Ich habe einiges getestet, aber leider will es mir nicht gelingen. Was muss dafür geändert werden?

Vielen Dank!


als Antwort auf: [#534057]

Werte einer Einstellungsebene per Script ändern

pixxxelschubser
Beiträge gesamt: 1634

16. Nov 2014, 23:02
Beitrag # 6 von 7
Beitrag ID: #534067
Bewertung:
(2258 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ScriptListener-Code folgt seinen Regeln. Er ist auch nicht wirklich so ohne Weiteres (soll heißen: ohne Einarbeitung und wirklich fundierte Kenntnisse) programmierbar. Soweit bin ich auch noch nicht in die Thematik eingestiegen. Erklärungen von mir sind deswegen eher als gefährliches Halbwissen einzustufen und aus diesem Grund verzichte ich auch lieber darauf.

Dokumentation, habe ich noch keine gefunden. Eins ist allerdings Fakt: AM-Code läuft erheblich schneller als jeder andere Code in JS/AS oder VB.

Änderungen im Code sind trotzdem mit etwas Verständnis von Skriptsprachen möglich.

Du kannst den Code von vorher z.B. wie folgt umbauen:
Code
// ======================================================= 
// verändert die Werte für Blautöne
// auf die Werte yan +15% und Magenta -17 (relativ)
var id40 = charIDToTypeID( "setd" );
var desc10 = new ActionDescriptor();
var id41 = charIDToTypeID( "null" );
var ref3 = new ActionReference();
var id42 = charIDToTypeID( "AdjL" );
var id43 = charIDToTypeID( "Ordn" );
var id44 = charIDToTypeID( "Trgt" );
ref3.putEnumerated( id42, id43, id44 );
desc10.putReference( id41, ref3 );
var id45 = charIDToTypeID( "T " );
var desc11 = new ActionDescriptor();
// ---------- hier beginnen
//var id46 = charIDToTypeID( "ClrC" ); // ColorCorrection auskommentieren
var id100 = charIDToTypeID( "Mthd" ); // Methode einfügen
var id46 = charIDToTypeID( "CrcM" ); // id46 kopieren und auf CorrectionMethod umstellen
var id101 = charIDToTypeID( "Absl" ); // id für absolut
//var id101 = charIDToTypeID( "Rltv" ); // oder id für relativ
desc11.putEnumerated( id100, id46, id101 ); // ActionDescriptor aufrufen
// ---------- hier enden
var list3 = new ActionList();
var desc12 = new ActionDescriptor();
var id47 = charIDToTypeID( "Clrs" );
var id48 = charIDToTypeID( "Clrs" );
var id49 = charIDToTypeID( "Bls " );
desc12.putEnumerated( id47, id48, id49 );
var id50 = charIDToTypeID( "Cyn " );
var id51 = charIDToTypeID( "#Prc" );
desc12.putUnitDouble( id50, id51, 15.000000 );
var id52 = charIDToTypeID( "Mgnt" );
var id53 = charIDToTypeID( "#Prc" );
desc12.putUnitDouble( id52, id53, -17.000000 );
var id54 = charIDToTypeID( "ClrC" );
list3.putObject( id54, desc12 );
desc11.putList( id46, list3 );
var id55 = charIDToTypeID( "SlcC" );
desc10.putObject( id45, id55, desc11 );
executeAction( id40, desc10, DialogModes.NO );


Viel Spass noch



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#534065]
(Dieser Beitrag wurde von pixxxelschubser am 16. Nov 2014, 23:07 geändert)

Werte einer Einstellungsebene per Script ändern

J.Puff
Beiträge gesamt: 226

16. Nov 2014, 23:19
Beitrag # 7 von 7
Beitrag ID: #534069
Bewertung:
(2246 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Herzlichen Dank für die Erläuterung und Hilfestellung, sehr freundlich!

Gute Nacht,
J. Puff


als Antwort auf: [#534067]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
26.01.2021 - 27.01.2021

Digicomp Academy AG, Zürich oder virtuell
Dienstag, 26. Jan. 2021, 08.30 Uhr - Mittwoch, 27. Jan. 2021, 17.00 Uhr

Kurs

In diesem Advanced-Kurs erlernen Sie weitergehende Methoden im Dokumentenaufbau, der Typografie und im Bereich Layouttechniken. Nach diesem Kurs können Sie strukturierte Dokumente erstellen oder bestehende effizienter anpassen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/INDEM2

Veranstaltungen
27.01.2021 - 28.01.2021

Digicomp Academy AG, Bern oder Basel
Mittwoch, 27. Jan. 2021, 08.30 Uhr - Donnerstag, 28. Jan. 2021, 17.00 Uhr

Kurs

Mit After Effects können Sie visuelle Effekte und Animationen für Video, Web, DVD und Blu-Ray erzeugen. In diesem Kurs lernen Sie die Grundlagen kennen und sehen inspirierende Anwendungsbeispiele, die Ihnen helfen, Ihre eigenen Ideen umzusetzen.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/AFT

Neuste Foreneinträge


Text- oder Grafikrahmen nach Position und Größe suchen und ändern

Absätze vor/nach AF suchen

Laser Drucker druckt schwarze Flecken Links und Rechts von Blatt

Gleich Große Icons erstellen

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Langsamer MacMini

Illustrator Skript Übersatztext - Hilfe benötigt

ID CC 2019 und 2020: Crash beim Startvorgang - 2021

Inhalt Textrahmen verbinden

iPhone Farbprofil
medienjobs