Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function savetimeline(layerNode) {
- try{
- var Path= activeDocument.path;
- }catch(e){var Path = "C:/desktop/gif";}
- var Name = decodeURI(app.activeDocument.name).replace(/\.[^\.]+$/, '');
- for (var i=0; i<layerNode.length; i++) {
- if(layerNode[i].layerSets>0 && layerNode[i].name != "MINE")
- savetimeline(layerNode[i].layerSets);
- for(var layerIndex=0; layerIndex < layerNode[i].artLayers.length; layerIndex++) {
- var savedState = app.activeDocument.activeHistoryState;
- var layer=layerNode[i].artLayers[layerIndex];
- var index=0;
- do {
- if(index >= layerNode[i].artLayers.length){
- index = 0;
- }
- if(layer.name == layerNode[i].artLayers[index].name){
- } else {
- if(layerNode[i].artLayers[index].length==undefined && layerNode[i].artLayers[index].name != "MINE")
- layerNode[i].artLayers[index].remove();
- }
- index++;
- } while (layerNode[i].artLayers.length != 1);
- var layerName = layer.name.replace(/[:\/\\*\?\"\<\>\|]/g, "_");
- var saveFile= new File(Path + "/" + Name + "-" + layerName + ".gif");
- SaveForWeb(saveFile);
- app.activeDocument.activeHistoryState = savedState;
- }
- }
- }
- function SaveForWeb(file){
- var d = new ActionDescriptor()
- d.putEnumerated( charIDToTypeID( "Op " ), charIDToTypeID( "SWOp" ), charIDToTypeID( "OpSa" ) ); // Save
- d.putPath( charIDToTypeID( "In " ), file );
- d.putEnumerated( charIDToTypeID( "Fmt " ), charIDToTypeID( "IRFm" ), charIDToTypeID( "GIFf" ) ); // GIF format
- d.putBoolean( charIDToTypeID( "Intr" ), false ); // Interlaced
- d.putEnumerated( charIDToTypeID( "RedA" ), charIDToTypeID( "IRRd" ), charIDToTypeID( "Sltv" ) ); // Colors Rreduction Type
- d.putBoolean( charIDToTypeID( "RChT" ), false ); // colors reduction Use All Text Layers
- d.putBoolean( charIDToTypeID( "RChV" ), false ); // colors reduction Use All Vector Shape Layers
- d.putBoolean( charIDToTypeID( "AuRd" ), false ); // colors reduction Auto
- d.putInteger( charIDToTypeID( "NCol" ), 256 );
- // d.putEnumerated( charIDToTypeID( "Dthr" ), charIDToTypeID( "IRDt" ), charIDToTypeID( "None" ) ); // Dither type
- d.putData( charIDToTypeID( "Dthr" ), "DITHER.Diffusion" ); // Dither type
- d.putInteger( charIDToTypeID( "DthA" ), 100 ); // Dither amount
- d.putInteger( charIDToTypeID( "DChS" ), 0 ); // Diffusion Dither min if Use
- d.putInteger( charIDToTypeID( "DCUI" ), 100 ); // Diffusion Dither max if Use
- d.putBoolean( charIDToTypeID( "DChT" ), false ); // Diffusion Dither Use All Text Layers
- d.putBoolean( charIDToTypeID( "DChV" ), false ); // Diffusion Dither Use All Vector Shape Layers
- d.putInteger( charIDToTypeID( "WebS" ), 0 ); // Web Snap
- d.putEnumerated( charIDToTypeID( "TDth" ), charIDToTypeID( "IRDt" ), charIDToTypeID( "None" ) ); // Trancparency dither type
- d.putInteger( charIDToTypeID( "TDtA" ), 0 ); // Trancparency diffusion dither amount;
- d.putInteger( charIDToTypeID( "Loss" ), 0 ); // Lossy amount
- d.putInteger( charIDToTypeID( "LChS" ), 0 ); // lossiness min
- d.putInteger( charIDToTypeID( "LCUI" ), 100 ); // lossiness max
- d.putBoolean( charIDToTypeID( "LChT" ), false ); // lossiness Use All Text Layers
- d.putBoolean( charIDToTypeID( "LChV" ), false ); // lossiness Use All Vector Shape Layers
- d.putBoolean( charIDToTypeID( "Trns" ), true ); // Trancparency
- d.putBoolean( charIDToTypeID( "Mtt " ), true ); // Matte
- d.putInteger( charIDToTypeID( "MttR" ), 255 ); // Matte R
- d.putInteger( charIDToTypeID( "MttG" ), 255 ); // Matte G
- d.putInteger( charIDToTypeID( "MttB" ), 255 ); // Matte B
- var d0 = new ActionDescriptor();
- d0.putObject( charIDToTypeID( "Usng" ), stringIDToTypeID( "SaveForWeb" ), d );
- executeAction( charIDToTypeID( "Expr" ), d0, DialogModes.NO );
- }
- savetimeline(app.activeDocument.layerSets);
Add Comment
Please, Sign In to add comment