Imagemagick 用于导出图层组合的Photoshop脚本

Imagemagick 用于导出图层组合的Photoshop脚本,imagemagick,photoshop,photoshop-script,Imagemagick,Photoshop,Photoshop Script,我想制作一个Photoshop脚本,让我可以将组中的所有五个层导出到png文件中 -结合其他两组的每一层 这有点含糊不清,所以我将试着说明我想要说明的内容 完成。有基本组(红色、蓝色、黄色、橙色、, 绿色)。然后是第二组,包含第1、2和3层。 还有第三组,包括a,b,c和d 我想 能够导出1_red_a.png、1_red_b.png、1_red_c.png、1_red_d.png、, 1_blue_a.png,1_blue_b.png 我对Photoshop脚本没有太多经验。这是可以做到的吗?

我想制作一个Photoshop脚本,让我可以将组中的所有五个层导出到png文件中 -结合其他两组的每一层

这有点含糊不清,所以我将试着说明我想要说明的内容 完成。有基本组(红色、蓝色、黄色、橙色、, 绿色)。然后是第二组,包含第1、2和3层。 还有第三组,包括a,b,c和d

我想 能够导出1_red_a.png、1_red_b.png、1_red_c.png、1_red_d.png、, 1_blue_a.png,1_blue_b.png


我对Photoshop脚本没有太多经验。这是可以做到的吗?如果是这样,有人愿意帮助我吗?

我想我已经知道你想要什么了。我发现ExtendScript很难编写代码,而且倾向于在Photoshop之外使用更强大的日常工具来完成自动化工作。我会选择ImageMagick和
bash
。ImageMagick是免费的,可用于Windows,将两个图像叠加在一起的基本命令是

convert image1.png image2.png -composite result.png
当然,您可以将
PNG
的任何或所有内容更改为
TIF
JPG
或任何您喜欢的内容

因此,对于您的问题,我制作了一个包含几个组的示例文件来展示这个概念,如下所示:

Photoshop文件是可用的

放大
图层
调色板(上图右侧),查看我制作的两组

然后转到文件->脚本->将图层导出到文件,并选择如下选项:

将为您导出以下文件:

layers_0000s_0002_Layer A.png
layers_0000s_0001_Layer B.png
layers_0000s_0000_Layer C.png       
layers_0001s_0003_Layer 1 - Red.png
layers_0001s_0002_Layer 2 - Green.png
layers_0001s_0001_Layer 3 - Blue.png
layers_0001s_0000_Layer 4 - Magenta.png
请注意,格式为
xxxs_uuxxxxxx.png

现在,您可以使用这个
bash
脚本轻松地创建组的所有排列。我假设Windows批处理文件会非常相似-尽管我只在胁迫下运行Windows

#!/bin/bash
i=0
# Iterate over Group 0 files
for a in *0s_*.png; do
   j=0
   # Iterate over Group 1 files
   for b in *1s_*.png; do
      convert "$a" "$b" -composite out_${i}_${j}.png
      ((j++))
   done
   ((i++))
done
这将为您提供以下输出文件:

out_0_0.png
out_0_1.png
out_0_2.png
out_0_3.png
out_1_0.png
out_1_1.png
out_1_2.png
out_1_3.png
out_2_0.png
out_2_1.png
out_2_2.png
out_2_3.png
只是为了好玩,我把它们放在一个蒙太奇中,你会看到:

请注意,如果有3个组,则脚本中需要第三个内部循环,将3个图像合成在一起的命令将更像这样(因为
-composite
选项将使用前面的两个图像):

或者,您可能会发现您可以使用

convert -background none image1.png image2.png image3.png -flatten result.png
将创建顶级
组中包含的任何内容的合成。一个
组的名称
和属于该组的
将成为您的文件名

用法
  • 请参见下面的示例和预览,了解其工作原理
  • 下载并解压缩photoshopCompositionComposer文件
  • 打开项目并导航到
    文件>脚本>浏览…
  • 浏览并加载下载的
    jsx
    文件
  • 例子

    • 动物。
      • 图层
        狗_
      • cat_
    • 背景。
      • 海_
      • 空格_
      • 水下_

    结果合成

  • 动物。狗。海_
  • 动物。狗。背景。空间_
  • 动物。狗的背景。水下_
  • 动物。猫。海_
  • 动物。猫_背景。空间_
  • 水下动物_
  • 预览

    你所说的“结合”是什么意思?肩并肩?亮度叠加?你真的想要60张输出图像吗?你在用什么操作系统?提供一个示例图像怎么样?我现在不在家,所以现在不可能提供示例图像。然而,我在Windows上工作,我确实想要很多输出文件。我的意思是,我希望它们同时可见。哇:p谢谢你的努力!我回家后会尝试一下,如果成功了会告诉你。我不认为我会有任何重大问题后,你的解释:)如果你没有IMAGE安装,你从这里下载-我可能会考虑使用最后一个列出-一个零安装和零配置,然后,如果你不喜欢它或想要它,您只需删除安装它的目录即可将其删除。@MarkSetchell:Mark,您想添加一个链接到您为答案创建的Photoshop示例文件吗?@KurtPfeifle是的,我已经提供了该文件-建议不错。谢谢。我最终尝试用另一种方式完成任务,而不是制作大量图像,我现在将它们组合到应用程序本身中。然而,我以后可能会面临一个特定的问题。所以这可能还是有用的。谢谢你的大力支持!
    convert -background none image1.png image2.png image3.png -flatten result.png