displayDialogs = DialogModes.NO; pngSaveOptions = new ExportOptionsSaveForWeb(); pngSaveOptions.embedColorProfile = false; pngSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE; pngSaveOptions.format = SaveDocumentType.PNG; pngSaveOptions.matte = MatteType.NONE; pngSaveOptions.PNG8 = true; pngSaveOptions.colors = 128; pngSaveOptions.transparency = true; pngSaveOptions.colorReduction = ColorReductionType.PERCEPTUAL; pngSaveOptions.dither = Dither.DIFFUSION; pngSaveOptions.ditherAmount = 75; pngSaveOptions.transparencyDither = Dither.NONE; pngSaveOptions_shadow = new ExportOptionsSaveForWeb(); pngSaveOptions_shadow.formatOptions = FormatOptions.STANDARDBASELINE; pngSaveOptions_shadow.format = SaveDocumentType.PNG; pngSaveOptions_shadow.PNG8 = false; var cDocName = activeDocument.name.slice(0,activeDocument.name.length-4); var shadowLayerChar = "@"; var black1 = new SolidColor; black1.rgb.red = 1; black1.rgb.green = 1; black1.rgb.blue = 1; if ((documents.length != 0) && (activeDocument.saved)){ var AD = activeDocument; var CurrentFolder = AD.path; var newFolder = cDocName + "_cut_png"; 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; AD.layers[AD.layers.length-1].visible = 0; var checkName = AD.layers[a-1].name.toLowerCase(); if((checkArray[a-1]!= 1)&&(checkArray[a-1]!= 2)&&(checkName!="background")&&(checkName!="green alpha")){ AD.activeLayer = AD.layers[a-1]; if(checkName.charAt(checkName.length-1)==shadowLayerChar){ // shadow layer newFile = new File(tempFolder+"/"+checkName.slice(0,checkName.length-1)+".png"); AD.exportDocument(newFile, ExportType.SAVEFORWEB, pngSaveOptions_shadow); } else { // normal layer newFile = new File(tempFolder+"/"+AD.layers[a-1].name+".png"); layerPixels2Selection(); AD.selection.fill(black1,ColorBlendMode.LIGHTEN,100,true); AD.selection.deselect(); AD.exportDocument(newFile, ExportType.SAVEFORWEB, pngSaveOptions_shadow); } } else { AD.layers[a-1].visible = 0; } } 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("Please save the document before running this script."); } function layerPixels2Selection(){ if(app.activeDocument.activeLayer.isBackgroundLayer){ return; }; var desc = new ActionDescriptor(); var ref = new ActionReference(); ref.putProperty( charIDToTypeID( "Chnl" ), charIDToTypeID( "fsel" ) ); desc.putReference( charIDToTypeID( "null" ), ref ); var ref1 = new ActionReference(); ref1.putEnumerated( charIDToTypeID( "Chnl" ), charIDToTypeID( "Chnl" ), charIDToTypeID( "Trsp" ) ); desc.putReference( charIDToTypeID( "T " ), ref1 ); executeAction( charIDToTypeID( "setd" ), desc, DialogModes.NO ); }; //layerPixels2Selection();