[FIXED] Photoshop Scripting mit JSX in für die Schleife zum Ändern der Füllfarbe jeder Ebene

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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like