Rasterize Layer & Rasterize Layer Styles Photoshop Scripting Code Snippets
Rasterize Layer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Rasterize Layer #target photoshop cTID = function(s) { return app.charIDToTypeID(s); }; sTID = function(s) { return app.stringIDToTypeID(s); }; function rasterizeLayer() { var desc1 = new ActionDescriptor(); var ref1 = new ActionReference(); ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));desc1.putReference(cTID('null'), ref1); executeAction(sTID('rasterizeLayer'), desc1, DialogModes.NO); }; rasterizeLayer(); |
Rasterize Layer Styles
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Rasterize Layer Styles #target photoshop cTID = function(s) { return app.charIDToTypeID(s); }; sTID = function(s) { return app.stringIDToTypeID(s); }; function rasterizeLayerStyles() { // Rasterize Layer Styles try { var desc1 = new ActionDescriptor();var ref1 = new ActionReference(); ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt')); desc1.putReference(cTID('null'), ref1); desc1.putEnumerated(cTID('What'), sTID("rasterizeItem"), sTID("layerStyle")); executeAction(sTID('rasterizeLayer'), desc1, DialogModes.NO); } catch(e) {} }; rasterizeLayerStyles(); |
So;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
// Rasterize All Selected Layers and Their Layer Styles #target photoshop cTID = function(s) { return app.charIDToTypeID(s); }; sTID = function(s) { return app.stringIDToTypeID(s); }; function selectLayerByIndex(index,add){ add = undefined ? add = false:add var ref = new ActionReference(); ref.putIndex(charIDToTypeID("Lyr "), index); var desc = new ActionDescriptor(); desc.putReference(charIDToTypeID("null"), ref ); if(add) desc.putEnumerated( stringIDToTypeID( "selectionModifier" ), stringIDToTypeID( "selectionModifierType" ), stringIDToTypeID( "addToSelection" ) ); desc.putBoolean( charIDToTypeID( "MkVs" ), false ); try{ executeAction(charIDToTypeID("slct"), desc, DialogModes.NO ); }catch(e){ alert(e.message); } }; function getSelectedLayersIdx(){ var selectedLayers = new Array; var ref = new ActionReference(); ref.putEnumerated( charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") ); var desc = executeActionGet(ref); if( desc.hasKey( stringIDToTypeID( 'targetLayers' ) ) ){ desc = desc.getList( stringIDToTypeID( 'targetLayers' )); var c = desc.count var selectedLayers = new Array(); for(var i=0;i<c;i++){ try{ activeDocument.backgroundLayer; selectedLayers.push( desc.getReference( i ).getIndex() ); }catch(e){ selectedLayers.push( desc.getReference( i ).getIndex()+1 ); } } }else{ var ref = new ActionReference(); ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "ItmI" )); ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") ); try{ activeDocument.backgroundLayer; selectedLayers.push( executeActionGet(ref).getInteger(charIDToTypeID( "ItmI" ))-1); }catch(e){ selectedLayers.push( executeActionGet(ref).getInteger(charIDToTypeID( "ItmI" ))); } } return selectedLayers; }; // Main function rasterizeLayerStyles() { // Rasterize Layer Styles try { var desc1 = new ActionDescriptor();var ref1 = new ActionReference(); ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt')); desc1.putReference(cTID('null'), ref1); desc1.putEnumerated(cTID('What'), sTID("rasterizeItem"), sTID("layerStyle")); executeAction(sTID('rasterizeLayer'), desc1, DialogModes.NO); } catch(e) {} }; function rasterizeLayer() { try { var desc1 = new ActionDescriptor(); var ref1 = new ActionReference(); ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));desc1.putReference(cTID('null'), ref1); executeAction(sTID('rasterizeLayer'), desc1, DialogModes.NO); } catch(e) {} }; var theLayers = getSelectedLayersIdx(); for (var p = 0; p < theLayers.length; p++) { selectLayerByIndex(theLayers[p], false); theLayers[p] = app.activeDocument.activeLayer; rasterizeLayer(); rasterizeLayerStyles(); }; |