【问题标题】:Using Imagemagick to batch split png RGBA channels, then recombine as a layered PSD使用 Imagemagick 批量拆分 png RGBA 通道,然后重新组合为分层 PSD
【发布时间】:2021-01-27 05:07:30
【问题描述】:

我需要分离一批 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?

标签: command-line imagemagick command-line-arguments


【解决方案1】:

我不认为你可以在 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

【讨论】:

  • _或者您可以处理 RGBA,但 A 将只是另一层 _ 这正是我所追求的! - 图像的 alpha 通道包含不会用于透明度的数据。
猜你喜欢
  • 1970-01-01
  • 2013-02-18
  • 2021-06-08
  • 1970-01-01
  • 2015-04-25
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
相关资源
最近更新 更多