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
. 我尝试使用以下代码:
FOR %i IN (1) DO magick composite -geometry +5+10 *.png background.png %i_composite.png
这会生成一个图像的输出,每个图像都相互叠加。我想要做的是,对于*.png
目录中的每个图像,将其%i
覆盖到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 文件中的每一个。
推荐阅读
- woocommerce - 订单状态变化时调用 api
- csv - 批处理脚本 - 根据文件名将列添加到 CSV
- javascript - 在大型 TypeScript 项目中共享类型的最佳方式是什么?
- alexa-skills-kit - ASK SDK V2 - .addAudioPlayDirective - 无元数据
- sharepoint - SharePoint Online 每日清单表格
- antlr4 - 如何抑制antlr4中生成的语法警告
- java - 无法确定 Instant 的数据类型
- python - Python:使用 sudo 调用 C 函数
- apache-spark - 获取RDD读取路径中的文件数
- npm - 在 Git LFS 中跟踪包锁定文件(例如 NPM 的 package-lock.json)是一个好主意吗?