imagemagick - 在 ImageMagick 的循环中使用复合

标签 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 文件。

关于imagemagick - 在 ImageMagick 的循环中使用复合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60297971/

相关文章:

ruby-on-rails - MiniMagick - 无法加载此类文件

java - 在Java中获取图像质量与ImageMagick的 "identify"命令相同

python - 在 Wand 中执行 +level ImageMagick 操作的方法?

imagemagick - 如何在 imagemagick 中将 1 个调整大小命令和 3 个复合命令合并为一个命令?

compiler-errors - 如何在Travis CI容器中安装具有webp支持的较新imagemagick?

php - 错误 WriteBlob 使用 ImageMagick 6.7.9 失败

java - 如何检测图像的缩放系数

ruby-on-rails - 在 mac 10.9 上安装 rmagick gem 时遇到问题

imagemagick - 在 Linux 上转换 JPEG 色彩空间(Adobe RGB 到 sRGB)

php - ImageMagick 缓存资源耗尽