使用 Imagemagick 批量拆分 png RGBA 通道,然后重新组合为分层 PSD

Using Imagemagick to batch split png RGBA channels, then recombine as a layered PSD

我需要分离一批 png 图像的 RGBA 通道,并将分离的通道保存在分层 PSD 中。我一直在 GIMP 中这样做,使用分解颜色功能,然后导出为 PSD,但是每张图片的点击次数很多。

我一直在尝试使用 Imagemagick 使该过程自动化。经过大量谷歌搜索后,我取得了一些进展,但我有点卡住了。目前我正在使用这个命令:

FOR /R %a IN (*.png) DO magick convert "%~a" -channel ALL -separate "%~dpna.jpg"

这为我提供了每个 png 四个 jpg 图像(每个颜色通道一个)。到目前为止,一切都很好。我只需要将颜色通道保存为 psd 中的图层。每个原始图像一个。

我尝试过将保存格式更改为 .psd,如下所示:

FOR /R %a IN (*.png) DO magick convert "%~a" -channel ALL -separate "%~dpna.psd"

这给了我一个分层的 PSD 文件,只有三层:Alpha,我认为的另外两个灰度层是 B 和 G(R 缺失),但我'我不是 100% 确定 - 原始图像中没有太多颜色数据。

所以重申一下 - 我需要拆分 png 的 RGBA 通道,然后将它们重新组合为 psd 中的图层。我需要对几十张 png 图像进行批处理。

任何对此的见解都将不胜感激。

我不认为你可以在 ImageMagick 中做你想做的一切。我无法为 PSD 文件添加透明度。

我在 Mac OSX Sierra

上使用 ImageMagick 6.9.11.34 Q16

您可以处理不透明的 RGB 文件并获得分层 PSD:

convert logo: -transparent white logot.png
convert logot.png \( -clone 0 -channel rgb -separate +channel \) \( -clone 0 -alpha extract \) -type truecolor logot.psd

或者您可以处理 RGBA,但 A 只是另一层:
convert logo: -transparent white logot.png
convert logot.png \( -clone 0 -channel rgba -separate +channel \) -type truecolor logot.psd

但是要增加透明度,您必须以不同的方式进行,它不适用于 PSD

convert logo: -transparent white logot.png
convert logot.png \( -clone 0 -channel rgb -separate +channel -type truecolor \) logot.psd
convert logot.png -alpha extract alpha.png
convert logot.psd alpha.png -alpha off -compose copy_opacity -composite logot.psd