[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Verlauf per Skript anlegen

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

Verlauf per Skript anlegen

faxinger666
Beiträge gesamt: 167

12. Mär 2019, 16:57
Beitrag # 1 von 3
Bewertung:
(2283 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebes Forum,

ich würde gerne einen Farbverlauf per Skript anlegen. Kann mir da jemand helfen?

Der Verlauf sollte als Farbverlaufsfeld in der Farbfelderpalette angezeigt werden. Der Verlauf selbst sollte von (50/0/100/0) über (0/70/50/0) bis (50/100/0/0) gehen.

Der Name des Verlaufs sollte "Rainbow_1" sein.

Ich weiß zwar wie ich Farbfelder hinzufüge aber bei Verläufen steige ich aus.

Bitte um eure Hilfe.

Danke
LG
faxinger
X

Verlauf per Skript anlegen

Martin Fischer
  
Beiträge gesamt: 12783

12. Mär 2019, 18:39
Beitrag # 2 von 3
Beitrag ID: #569219
Bewertung: |||
(2261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,

Du könntest so ein Verlaufsfeld, wie Du es brauchst, anlegen und dann sukzuessive die Eigenschaften dieses Verlaufsfelds ermitteln.

Beispiel
=========
gegeben das Verlaufsfeld 'Rainbow_1'

Code
var doc = app.activeDocument; 
var grad = doc.gradients.itemByName('Rainbow_1' );

$.writeln( grad.properties.toSource());
for (i = 0; i < grad.gradientStops.length; i++)
$.writeln( grad.gradientStops[i].properties.toSource() );


Oder Du baust es Dir sukzessive auf:

Code
var doc = app.activeDocument; 

// Farben für den Verlauf
var grcol1 = doc.colors.add({name:"Verlauf 1", model:ColorModel.PROCESS, space: ColorSpace.CMYK, colorValue:[50,0,100,0]});
var grcol2 = doc.colors.add({name:"Verlauf 2", model:ColorModel.PROCESS, space: ColorSpace.CMYK, colorValue:[0,70,50,0]});
var grcol3 = doc.colors.add({name:"Verlauf 3", model:ColorModel.PROCESS, space: ColorSpace.CMYK, colorValue:[50,100,0,0]});

// Verlaufsfeld
var grad = doc.gradients.add({name: 'Rainbow_1' });

// Verlaufsfarben positionieren
grad.gradientStops.add({location: 0, stopColor: grcol1});
grad.gradientStops.add({location: 50, midpoint: 50, stopColor: grcol2});
grad.gradientStops.add({location: 100, midpoint: 50, stopColor: grcol3});


Spontan konnte ich nicht herausfinden, wie unbenannte Farben zu implementieren sind. Deswegen werden am Anfang die benötigten Farben für die Verlaufspunkte angelegt.

Du wirst beim Ausführen des obigen Codes feststellen, dass beim gradients.add() gleich zwei Verlaufspunkte mit angelegt werden. Diese kannst Du entweder nach dem Hinzufügen Deiner Farbpositionen löschen oder sie nutzen, indem Du sie mit den gewünschten Verlaufsfarben belegst:

Code
var doc = app.activeDocument; 

// Farben für den Verlauf
var grcol1 = doc.colors.add({name:"Verlauf 1", model:ColorModel.PROCESS, space: ColorSpace.CMYK, colorValue:[50,0,100,0]});
var grcol2 = doc.colors.add({name:"Verlauf 2", model:ColorModel.PROCESS, space: ColorSpace.CMYK, colorValue:[0,70,50,0]});
var grcol3 = doc.colors.add({name:"Verlauf 3", model:ColorModel.PROCESS, space: ColorSpace.CMYK, colorValue:[50,100,0,0]});

// Verlaufsfeld
var grad = doc.gradients.add({name: 'Rainbow_1' });

// vorhandene Verlaufsfarbenpunkte umdefinieren
if (grad.gradientStops.length >= 2)
{
grad.gradientStops[0].stopColor = grcol1;
grad.gradientStops[1].stopColor = grcol3;
}

// einen weiteren Farbpunkt hinzufügen
grad.gradientStops.add({location: 50, midpoint: 50, stopColor: grcol2});



als Antwort auf: [#569215]
(Dieser Beitrag wurde von Martin Fischer am 12. Mär 2019, 18:41 geändert)

Verlauf per Skript anlegen

faxinger666
Beiträge gesamt: 167

13. Mär 2019, 08:13
Beitrag # 3 von 3
Beitrag ID: #569230
Bewertung:
(2214 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Martin. Super erklärt. Jetzt habe ich es gecheckt.

LG
faxinger


als Antwort auf: [#569219]