使用批处理文件中的 Imagemagick 从 PNG 序列创建分层 PSD

Create layered PSD from PNG sequence with Imagemagick from batch file

我正在使用一种动画软件,该软件将动画输出为标记为文件名-001.png、文件名-002.png 等的 PNG 序列。我想使用 imagemagick 的 convert 编译 PSD,以便我可以在 Photoshop 中快速编辑它。

我需要 Windows 批处理文件 从批处理文件所在的文件夹中获取所有 png 文件 (或者 拖放序列中的第一张图片 或拖放文件夹)并将它们转换为分层 PSD 文件

理想情况下标签应该是文件名部分(例如对于第 2 层 = "filename-002")

目前我的批次如下:

convert
( -page +0+0 -label "label1" "filename-001.png"[0] -background none -mosaic -set colorspace RGB )
( -page +0+0 -label "label2" "filename-002.png"[0] -background none -mosaic -set colorspace RGB )
( -page +0+0 -label "label3" "filename-003.png"[0] -background none -mosaic -set colorspace RGB )
( -page +0+0 -label "label4" "filename-004.png"[0] -background none -mosaic -set colorspace RGB )
( -clone 0--1 -background none -mosaic ) -reverse "out.psd"

这当然会转换我手动输入的png图像,我需要让它更自动化。

最后,生成的 PSD 的图层不透明度已锁定,我希望它们不被锁定,这样我可以在 Photoshop 中更快地编辑 PSD。

你可以试试这个,虽然我不能测试它,因为我自己没有 imagemagic:

@echo off
setlocal enabledelayedexpansion
set number=1
set "command=convert"
for %%f in (*.png) do (
  set "command=!command! ^( -page +0+0 -label ^"label!number!^" ^"%%~nxf^"[0] -background none -mosaic -set colorspace RGB ^)"
  set /a number=!number!+1
)
set "command=%command% ^( -clone 0--1 -background none -mosaic ^) -reverse ^"out.psd^""
%command%
pause

我想可以找到不透明度问题here