或者,如何通过图层名称更改TextItem的内容。
注意:我正在使用Photoshop CS4(11.0.1)
答案 0 :(得分:7)
我刚刚用这个场合写了我的第一个Photoshop JSX脚本:)
我正在使用Photoshop CS3,但我猜测更改文本是一项核心功能,可能无法轻易地从一个版本更改为另一个版本;
这是我的代码段:
//get the active document
var doc = app.activeDocument;
//get the active layer
var al = doc.activeLayer;
if(al.kind == LayerKind.TEXT) {
//get the textItem
var ti = al.textItem;
//change contents
ti.contents = "stackoverflow";
}
我不确定通过图层名称更改内容是否完全符合您的意思 但这是我的理由:
function changeTextByLayerName(layerName,newText){
var layer = doc.layers.getByName(layerName);
if(layer.kind == LayerKind.TEXT) layer.textItem.contents = newText;
}
幸运的是,有一个getByName方法,所以不需要手动循环,然后我只是检查图层是否实际上是文本层。
希望它有所帮助。