在 ImageMagick 的循环中使用复合

Using composite within a loop in ImageMagick

我正在尝试使用 Windows 10 中的命令提示符到 运行 ImageMagick 中一批文件的循环。作为单个图像的示例,我将在 IM 中使用的命令是

 magick composite -geometry +5+10 imageA.png background.png

当我单独处理图像时,这很好用。

但是,我有一批 700 多张图片(我们称它们为 imageA.pngimageB.pngimageC.pngimageD.png),我想叠加每张图片他们到 background.png。我尝试使用以下代码:

 FOR %i IN (1) DO magick composite -geometry +5+10 *.png background.png %i_composite.png

这会生成一幅图像的输出,每幅图像相互叠加。我想要做的是,对于目录 %i 中的每个 *.png 图像,将其覆盖到 background.png 上并使用扩展名 filenumber_composite.png 保存。

有关信息,当我尝试使用不同类型的转换(将图像的大小减小给定的 %)时循环有效,但当我使用 composite 命令时失败。

你的"for" 命令是错误的。尝试使用括号中的“*.png”...

FOR %i IN (*.png) DO magick composite -geometry +5+10 %i background.png %i_composite.png

这意味着对于 *.png 组中的每个文件,使用“%i”执行以下操作,它代表顺序中的每个 .png 文件。