Ebenen mit Ebenennamen speichern

Alexander Groß

Erfahrenes Mitglied
Hallo,

ich suche eine Möglichkeit viele Ebenen per Script etc. unter deren Namen als jpg zu speichern.

In PS habe ich nur die Möglichkeit gefunden das davor ein Präfix gesetzt wird (Datei -> Skripten -> Ebenen in Dateien exportieren). Ich will aber die Namen welche ich den Ebenen gegeben habe, auch so gespeichert haben.


Gruß

Alex
 
Gab es da nicht ein fertiges Script dafür? Ah, das ist es.. OK.. Nun denn, JSX-Script im Texteditor öffnen und Variable umbiegen :D

Das ist das Script in Urform für PS/ etc..
http://www.kirupa.com/motiongraphics/scripting6_2.htm
Code:
displayDialogs = DialogModes.NO;
saveOptions = new PNGSaveOptions();

if ((documents.length != 0) && (activeDocument.saved)){

  var AD = activeDocument;
  var CurrentFolder = AD.path;
  var newFolder = AD.name+"_separated";
  var tempFolder = new Folder (CurrentFolder+"/"+newFolder);
  tempFolder.create();

  var tempLayer = AD.artLayers.add();
  var checkArray = new Array(AD.layers.length);

  for(a=1;a<=AD.layers.length;a++){
    var CL = AD.layers[a-1];
    if(!((CL.kind == LayerKind.TEXT)||(CL.kind == LayerKind.NORMAL)||(CL.kind == LayerKind.LayerSet))){
      checkArray[a-1] = 1;
    }
    if(CL.visible == 0){
      checkArray[a-1] = 2;
    }
  }

  for(a=1;a<=AD.layers.length;a++){
    AD.layers[a-1].visible = 0;
  }

  for(a=2;a<=AD.layers.length;a++){
    AD.layers[a-2].visible = 0;
    AD.layers[a-1].visible = 1;

    if((checkArray[a-1]!= 1)&&(checkArray[a-1]!= 2)){
      newFile = new File(tempFolder+"/("+(a-1)+")_"+AD.layers[a-1].name+".png");
      AD.saveAs (newFile,saveOptions, true, Extension.LOWERCASE);
    }
   }

  for(a=1;a<=AD.layers.length;a++){
    if(checkArray[a-1] == 2){
      AD.layers[a-1].visible = 0;
    }else{
      AD.layers[a-1].visible = 1;
    }
  }

   AD.layers[0].remove();

}else{

  alert("You either did not save the document or have no document opened !");

}
Wenn ich das Script richtig lese, ist dort schon der Layername drin, wird nur durch ein Präfix erweitert.

Diese Zeile :
Code:
   newFile = new File(tempFolder+"/("+(a-1)+")_"+AD.layers[a-1].name+".png");
sollte dann aussehen:
Code:
   newFile = new File(tempFolder+"/"+AD.layers[a-1].name+".png");
Vorsicht, nicht getestet, also ausprobieren :D

mfg chmee
 
Zurück