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

标签 imagemagick photoshop photoshop-script

我想制作一个 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或者你喜欢的任何东西。

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

enter image description here

Photoshop 文件可用here .

放大 Layers调色板(在上图中的右侧)查看我制作的 2 个组。

然后去File->Scripts->Export Layers to Files,然后选择这样的选项:

enter image description here

这将为您导出以下文件:

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

只是为了好玩,我将它们全部放在一个蒙太奇中,你会得到这个:

enter image description here

请注意,如果您有 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

关于imagemagick - 用于导出图层组合的 Photoshop 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29854858/

相关文章:

imagemagick - 如何使用ImageMagick将JPEG图像转换为SVG格式?

javascript - 通过nodejs gm库中的URL加载字体

image-processing - Photoshop Camera RAW/Lightroom 的颜色校准工具如何工作?

html - 为html制作一个颜色可变的图像?

javascript - 保存目标文件夹 Photoshop Javascript

javascript - 使用 Applescript 从外部文件调用 Javascript 函数

javascript - 调整 photoshop 智能对象 JavaScript

php - 结合2个imagemagick调整大小命令

html - Photoshop 到 CSS

imagemagick - 使用 imagemagick 的格式字符串和宽度/高度计算新的图像大小