如何通过ID获取图层对象

时间:2012-09-03 09:57:37

标签: javascript photoshop photoshop-script jsx

Photoshop脚本API让我挣扎。它根本不是开发者友好的。 但我仍然相信,当我有图层ID时,有一种获取图层对象的方法吗?

我想要做的就是将所选图层复制到新文档中。图层可能嵌套在组中。

1 个答案:

答案 0 :(得分:1)

你是对的,这样一个简单的动作不应该那么复杂。 试试这个:

var curDoc  = app.activeDocument;
var newDoc = app.documents.add(curDoc.width,curDoc.height,curDoc.resolution);//add a new doc with the same dimensions as the active one
app.activeDocument = curDoc;//set the original doc as active
try {
    var curLayer = newDoc.activeLayer;//get a reference to the new document's current layer
    curDoc.activeLayer.duplicate(newDoc,ElementPlacement.PLACEATBEGINNING);//dupliate the active layer from the original doc to the new/copy doc
} catch(e) {    alert(e);   }

如果有帮助,Photshop附带一个引用(应该在PHOTOSHOP_INSTALL_FOLDER/Scripting/Documents中)和/或对象模型查看器(在ExtendScriptToolkit的Help菜单下可见)。