在ImageMagick中的循环中使用复合

在ImageMagick中的循环中使用复合,imagemagick,Imagemagick,我正在尝试使用Windows 10中的命令提示符在ImageMagick中的一批文件上运行循环。作为单个图像的示例,我将在IM中使用的命令是 magick composite -geometry +5+10 imageA.png background.png 当我单独处理图像时,这很好 但是,我有一批700多张图片,我们把它们叫做imageA.png、imageB.png、imageC.png、imageD.png,我想把它们都叠加到background.png上。我已尝试使用以下代码:

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

 magick composite -geometry +5+10 imageA.png background.png
当我单独处理图像时,这很好

但是,我有一批700多张图片,我们把它们叫做imageA.png、imageB.png、imageC.png、imageD.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保存


对于info,当我尝试使用不同类型的变换将图像大小减小给定%时,循环会起作用,但当我使用composite命令时,循环会失败。

您的For命令错误。用括号中的*.png试试这个

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

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

您的for命令错误。用括号中的*.png试试这个

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

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

解释命令的最后三个文件部分到底做了什么-希望这是最明显的堆栈溢出,除了两个例外,要么知道ImageMagick而从不使用Windows,要么使用Windows而不知道ImageMagick。不幸的是,你的问题没有告诉这两种类型的人足够的时间来解决另一半:-试着显示一个ImageMagick命令,它完全符合你对一个图像的要求-没有循环,没有变量,没有星号-还显示一个文件名列表,那么Windows-y类型的人将能够帮助你,谢谢!好的,希望这会有帮助。。。!解释命令的最后三个文件部分到底做了什么-希望这是最明显的堆栈溢出,除了几个例外,要么知道ImageMagick但从不使用Windows,要么使用Windows但不知道ImageMagick。不幸的是,你的问题没有告诉这两种类型的人足够的时间来解决另一半:-试着显示一个ImageMagick命令,它完全符合你对一个图像的要求-没有循环,没有变量,没有星号-还显示一个文件名列表,那么Windows-y类型的人将能够帮助你,谢谢!好的,希望这会有帮助。。。!