adobe extends builder 允許as3 調用ps裡面指令碼,非常方便,但是官方要收費,有時候真心搞不懂官方不整合到flash 裡面去,反而要以一個收費外掛程式的形式存在。好吧,只好使用jsx的指令碼嘗試調用。下面一個是記錄最近收集到的資料,選擇圖層,在官方論壇搜尋到,真心好用,下面粘貼下來提供有需要的人使用。
編寫指令碼的工具是官方提供的一個既不好用,也十分難用的工具。
//http://forums.adobe.com/message/4318765?tstart=0//來源和官方論壇function getSelectedLayers() { var layerArray = new Array; var desc = new ActionDescriptor(); var ref = new ActionReference(); ref.putClass( stringIDToTypeID('layerSection') ); desc.putReference( charIDToTypeID('null'), ref ); var layerRef = new ActionReference(); layerRef.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') ); desc.putReference( charIDToTypeID('From'), layerRef ); executeAction( charIDToTypeID('Mk '), desc, DialogModes.NO ); var tempLayerSet = app.activeDocument.activeLayer.layers; for ( var layerIndex = 0; layerIndex < tempLayerSet.length; layerIndex++ ) { layerArray.push( tempLayerSet[layerIndex] ); } executeAction( charIDToTypeID('undo'), undefined, DialogModes.NO ); return layerArray;};var doc = app.activeDocument;main();function main(){ var arr=getSelectedLayers(); for(var i=0;i<arr.length;i++) { var layer=arr[i]; layer.name="text_"+layer.name; alert(layer.name); } }
呼叫指令碼的情況,選擇一個圖片。在ps檔案菜單,指令碼瀏覽,相應的指令碼即可。
這段代碼非常實用,可以做很多的操作,方便使用。