Javascript 在Photoshop脚本中替换图层图像

Javascript 在Photoshop脚本中替换图层图像,javascript,photoshop,photoshop-script,Javascript,Photoshop,Photoshop Script,如何替换层中的图像?对于文本层,我可以轻松地执行doc.layerSets.getByName('title').textItem.contents='newtext'。所以我的问题是,是否有类似于textItem的东西可以处理图像。类似于imageItem。因此,我可以替换层中的图像?如果我理解正确,您希望将组中所有图像层的内容复制到单个目标层中 您可以通过直观的方式迭代组艺术层并将其内容就地复制/粘贴到目标层来完成这一点。这在GUI中可能显得微不足道,但从编程的角度来说,这是一种方式 另一种

如何替换层中的图像?对于文本层,我可以轻松地执行
doc.layerSets.getByName('title').textItem.contents='newtext'
。所以我的问题是,是否有类似于
textItem
的东西可以处理图像。类似于
imageItem
。因此,我可以替换层中的图像?

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

您可以通过直观的方式迭代组艺术层并将其内容就地复制/粘贴到目标层来完成这一点。这在GUI中可能显得微不足道,但从编程的角度来说,这是一种方式

另一种方法,也许是一种更具编程性的方法,就是迭代组艺术层,复制每个层并将它们与目标层合并。我给你举个例子:

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();
}
var doc=app.activeDocument;
var target=doc.layers.getByName('target');
var group=doc.layerSets.getByName('images');
var gal=组.artLayers;
//从“图像”组迭代艺术层
对于(变量i=0;i

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

那么您的问题到底是什么?什么不适合你?你的psd结构是什么?有一个叫做“图像”的组,它有多个层,所有层都包含一个图像。还有一层叫做“目标”。我想在“图像”组中循环,并将每个图像放在“目标”层中并导出它。如果您想向其中添加信息,请编辑您的问题]()。有什么原因不能将帧放在同一个PSD文件中,然后切换图像层的可见性?有什么方法可以让扩展名
gal[I]
检查它是png还是jpg?