【发布时间】:2019-04-16 16:34:33
【问题描述】:
我有一个包含 4 个子文件夹的文件夹,每个子文件夹包含 4 张图片(总共 16 张图片)。我想将这 16 张图片合并为 1 张图片。
结构示例:
0/0.png
0/1.png
...
1/0.png
1/1.png
...
3/3.png
这就是将图像组合成一张图像的方式:
每一列代表一个子文件夹。
我有 +30 个这样的文件夹,这就是为什么我想创建一个脚本而不是在 Photoshop 中手动进行。
我下载了适用于 Windows 的 ImageMagick,并尝试创建一个可以运行的批处理脚本。
我试过这个:
cd %cd%
for /r /d %%a in (*.png) do montage -tile 5x4 "result.png"
这不起作用(没有图像,CMD 中也没有错误)。请注意,我对 ImageMagick 和在 Windows 中创建 .bat 文件都是全新的。
那么,如何修改我的脚本,使其遍历所有子文件夹并从子文件夹中的所有图像创建/转换单个蒙太奇/图块?
【问题讨论】:
-
ImageMagick montage 不遍历子目录。您将有权访问每个子目录中的所有图像并将其提供给蒙太奇。抱歉,我不在 Windows 中编写代码。如果图像 1-4 位于同一子目录中,则需要在送入蒙太奇之前重新排列图像或在蒙太奇之后转置图像。在什么情况下它不起作用?
-
您还需要指定这些图像相对于最终蒙太奇的顺序是否有任何偏好,即哪一个去哪里?
-
@fmw42 它根本不生成图像,但我也没有收到错误
-
magick 0/*.png -append ( 1/*.png -append ) ( 2/*.png -append ) ( 3/*.png -append ) +append result.png -
@Marck Setchell。您的代码是 Unix 而不是 Windows。改变你的斜线并使用magick.exe。只使用附加的好主意。magick.exe ( 0\*.png -append ) ( 1\*.png -append ) ( 2\*.png -append ) ( 3\*.png -append ) +append result.png
标签: image batch-file imagemagick imagemagick-convert