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文件菜单,脚本浏览,相应的脚本即可。
这段代码非常实用,可以做很多的操作,方便使用。