在Photoshop脚本中替换图层图像

问题描述 投票:1回答:1

如何替换图层中的图像?对于文本层,我可以轻松地做doc.layerSets.getByName('title').textItem.contents = 'New Text'。所以我的问题是,是否有类似于textItem的图像。有点像imageItem。所以我可以替换图层中的图像?

javascript photoshop photoshop-script
1个回答
2
投票

如果我理解正确,您希望将所有图像图层的内容从一个组复制到一个目标图层中。

您可以通过迭代组艺术图层和就地复制/粘贴其内容到目标图层的直观方式来实现此目的。这可能在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();
}

这适用于简单的艺术目标图层。现在,如果您的目标图层更复杂(即它具有混合属性,蒙版等),并且您希望保持这一点,则必须使用上面链接的“粘贴到位”方法。

© www.soinside.com 2019 - 2024. All rights reserved.