Ausgabe
Also bastele ich daran, Füllfarben von Ebenen in einer PSD-Datei mit JSX zu ändern. Letztendlich möchte ich alle Ebenen wiederholen, die Sichtbarkeit für alle außer einer deaktivieren, die Füllfarbe dieser Ebene bearbeiten, als PNG speichern und dann für alle Ebenen und alle Farben in der JSON-Datei wiederholen. Ich fange klein an, da dies mein erster Versuch ist, aber wenn Ihre Lösung dazu beitragen kann, meine Stürze bei anderen Aufgaben zu verhindern, wäre ich sehr dankbar. Hier ist, was ich habe (Alarm wird ordnungsgemäß angezeigt, aber Zeile 5 erhält Fehler 1302: kein solches Element, das auf Zeile 5 verweist):
var layerNum = app.activeDocument.layers.length
alert(layerNum);
var i;
for (i=0;i<layerNum;i++){
var currentLayer = app.activeDocument.layers.index(i)
var myColor = new SolidColor();
//var RGB = HEXtoRGB(Y);
myColor.rgb.red = RGB[255];
myColor.rgb.green = RGB[0];
myColor.rgb.blue = RGB[0];
currentLayer.fill.color = myColor;
}
Liegt das daran, dass die Sammlung von Layern nicht bei 0 beginnt? Soll ich mitlayers.index(layerNum) beginnen und i– verwenden, um die Sammlung nach unten zu verschieben? Jeder Einblick wäre hilfreich. Vielen Dank im Voraus an diese immer hilfsbereite Community.
Lösung
Diesvar currentLayer = app.activeDocument.layers.index(i)
sollte das sein:var currentLayer = app.activeDocument.layers[i]
Layer-Sammlungen sind ziemlich gleich wie Arrays, beginnend bei 0, also haben Sie es richtig gemacht
Beantwortet von – KienHT
Antwort geprüft von – Gilberto Lyons (FixError Admin)