用于导出图层组合的 Photoshop 脚本
Photoshop script to export layer combinations
我想制作一个 Photoshop 脚本,让我将一组中的所有五个图层导出到一个 png 文件
- 结合其他 2 个组的每一层。
It's a bit vague so I'll try to illustrate what I want to
accomplish. There's the base group (red, blue, yellow, orange,
green). Then there is a second group that contains layers 1,2 and 3.
Then there's a third group that contains a, b, c and d.
I want to
be able to export 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 文件可用here。
放大 Layers
调色板(在上图中的右侧)以查看我制作的 2 个组。
然后转到文件->脚本->将图层导出到文件,然后select选项如下:
这将为您导出以下文件:
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
注意格式是xxx<GROUP>s_xxx<LAYER>xxx.png
现在您可以使用此 bash
脚本轻松创建组的所有排列。我认为 Windows BATCH 文件会非常相似 - 虽然我只是在胁迫下 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 image1.png image2.png -composite image3.png -composite result.png
或者,您可能会发现可以使用
convert -background none image1.png image2.png image3.png -flatten result.png
Photoshop Composition Composer 将创建 top-level groups
中包含的任何内容的组合。一个group
的名字和属于它的layer
的名字连在一起就是你的文件名。
用法
- 请参阅下面的示例和预览以了解其工作原理
- 下载解压
photoshopCompositionComposer
jsx
-文件
- 打开您的项目并导航到
File > Scripts > Browse...
- 浏览并加载下载的
jsx
文件
例子
图层
Group
动物。
Layer
狗_
Group
猫_
Group
背景。
Layer
海_
Group
空间_
Layer
underWater_
生成的组合
- animals.dog_background.sea_
- animals.dog_background.space_
- animals.dog_background.underWater_
- animals.cat_background.sea_
- animals.cat_background.space_
- animals.cat_background.underWater_
预览
我想制作一个 Photoshop 脚本,让我将一组中的所有五个图层导出到一个 png 文件 - 结合其他 2 个组的每一层。
It's a bit vague so I'll try to illustrate what I want to accomplish. There's the base group (red, blue, yellow, orange, green). Then there is a second group that contains layers 1,2 and 3. Then there's a third group that contains a, b, c and d.
I want to be able to export 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 文件可用here。
放大 Layers
调色板(在上图中的右侧)以查看我制作的 2 个组。
然后转到文件->脚本->将图层导出到文件,然后select选项如下:
这将为您导出以下文件:
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
注意格式是xxx<GROUP>s_xxx<LAYER>xxx.png
现在您可以使用此 bash
脚本轻松创建组的所有排列。我认为 Windows BATCH 文件会非常相似 - 虽然我只是在胁迫下 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 image1.png image2.png -composite image3.png -composite result.png
或者,您可能会发现可以使用
convert -background none image1.png image2.png image3.png -flatten result.png
Photoshop Composition Composer 将创建 top-level groups
中包含的任何内容的组合。一个group
的名字和属于它的layer
的名字连在一起就是你的文件名。
用法
- 请参阅下面的示例和预览以了解其工作原理
- 下载解压
photoshopCompositionComposer
jsx
-文件 - 打开您的项目并导航到
File > Scripts > Browse...
- 浏览并加载下载的
jsx
文件
例子
图层
Group
动物。Layer
狗_Group
猫_
Group
背景。Layer
海_Group
空间_Layer
underWater_
生成的组合
- animals.dog_background.sea_
- animals.dog_background.space_
- animals.dog_background.underWater_
- animals.cat_background.sea_
- animals.cat_background.space_
- animals.cat_background.underWater_