Creating merged output based on multiple layers.


i have file 4 different layer groups. 1 layer shading layer applied on top of every layer. other 3 layers contain i'd able automate/script 1 layer each group can merged 1 exported tif file, ideally named title of each layer (ie 01blue-02green-03yellow.tif).

 

right select layers want use, apply custom action exports tif. have rename file after. laborious, , make & again make mistake layers selected.

 

i'm running cs4

 

thanks!

jess,

 

as understanding of want:

 

i made psd following layers (from bottom up) background (white), blue (a layer blue on - layer name "blue"), green (a layer green on - layer name "green") , red (a layer red on - layer name, guessed "red"). script save out layers, red, blue , green tiffs layername filename

 

this script work assumes couple of things:

1, top layer shading layer,

2, background included.

 

wasn't sure if ment "groups" in number of things or layersets (layer groups) exported blank

 

// tiff export shaded layers // use @ own risk  // call source document var srcdoc = app.activedocument; var numoflayers = srcdoc.layers.length;  // main loop starts here (var = numoflayers -2; >= 1  ; i--) {      //var templayer = srcdoc.activelayer.name;     var templayer = srcdoc.layers[i]      //switch other layers off     switchalllayersoff(i)        if ((i != numoflayers -1) && (i != 0))         {           srcdoc.layers[i].visible = true;           decantlayer(templayer.name)         }  }//end loop  function switchalllayersoff(idx) {   (var m = numoflayers -2; m >= 1  ; m--)   {       srcdoc.layers[m].visible = false   }    srcdoc.layers[0].visible = true;    srcdoc.layers[numoflayers -1].visible = true    srcdoc.layers[idx].visible = true; }   function decantlayer(layername) { // ======================================================= var id21 = charidtotypeid( "dplc" ); var desc7 = new actiondescriptor(); var id22 = charidtotypeid( "null" ); var ref5 = new actionreference(); var id23 = charidtotypeid( "dcmn" ); var id24 = charidtotypeid( "ordn" ); var id25 = charidtotypeid( "frst" ); ref5.putenumerated( id23, id24, id25 ); desc7.putreference( id22, ref5 ); var id26 = charidtotypeid( "nm  " ); desc7.putstring( id26, layername ); executeaction( id21, desc7, dialogmodes.no );  // set filepath , filename source path filepath = srcdoc.path + '/' + app.activedocument.name +'.tiff';  // save out image var tifffile = new file(filepath); tiffsaveoptions = new tiffsaveoptions(); tiffsaveoptions.byteorder = byteorder.macos; tiffsaveoptions.layers = false; tiffsaveoptions.transparency = true; tiffsaveoptions.alphachannels = true; tiffsaveoptions.embedcolorprofile = false; tiffsaveoptions.imagecompression = tiffencoding.tifflzw; tiffsaveoptions.saveimagepyramid = false;   activedocument.saveas(tifffile, tiffsaveoptions, false, extension.lowercase);  //close document without saving app.activedocument.close(saveoptions.donotsavechanges);  // selects document that's been open longest app.activedocument = srcdoc; } 

 

copy code above text editor, save out "myexportscript.jsx" or something, put said script in adobe\adobe photoshop cs4\presets\scripts directory. next time run photoshop you'll find myexportscrip script on file>scripts menu.

hope works you



More discussions in Photoshop Scripting


adobe

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support