如何替换图层中的图像?对于文本层,我可以轻松地做doc.layerSets.getByName('title').textItem.contents = 'New Text'
。所以我的问题是,是否有类似于textItem
的图像。有点像imageItem
。所以我可以替换图层中的图像?
如果我理解正确,您希望将所有图像图层的内容从一个组复制到一个目标图层中。
您可以通过迭代组艺术图层和就地复制/粘贴其内容到目标图层的直观方式来实现此目的。这可能在GUI中看起来微不足道,但从程序上来说,这是too complicated的方式。
另一种方式,也许是一种更具编程性的方式,就是迭代组图层,复制每一层并将它们与目标层合并。我给你举个例子:
var doc = app.activeDocument;
var target = doc.layers.getByName('target');
var group = doc.layerSets.getByName('images');
var gal = group.artLayers;
// Iterate through art layers from group "images"
for (var i = 0; i < gal.length; i++) {
// Duplicate current layer and put it before the target layer
var temp = gal[i].duplicate(target, ElementPlacement.PLACEBEFORE);
// Merge the current layer with the target
// (the target variable has to be updated because it's now a new merged layer)
target = temp.merge();
}
这适用于简单的艺术目标图层。现在,如果您的目标图层更复杂(即它具有混合属性,蒙版等),并且您希望保持这一点,则必须使用上面链接的“粘贴到位”方法。