如何使用ImageMagick融合图片并保留原文件名覆盖原文件
解决方案
方案1:CMD循环遍历(推荐,逻辑稳定)
直接复用你原有可用的单文件逻辑,通过系统循环自动遍历所有目标PNG文件:
cd [红色方块所在的文件夹路径] :: 直接在CMD窗口执行用以下代码 for %i in (*.png) do ( magick convert ../PLAN.png "%i" -compose multiply -composite "%i" && magick composite ../LEGEND.png "%i" "%i" )
如果是把命令写进.bat批处理文件执行,需要把%i替换为%%i。
方案2:调整mogrify操作层级
你之前的命令层级错误是因为image Over默认将指定图片叠加到当前处理文件的上层,改为image Under即可把地图放在红色方块下方:
cd [红色方块所在的文件夹路径] magick mogrify -compose multiply -draw "image Under 0,0 0,0 '../PLAN.png'" -compose over -draw "image Over 0,0 0,0 '../LEGEND.png'" *.png
该命令会自动处理当前目录下所有PNG文件,不需要手动指定文件名。
内容的提问来源于stack exchange,提问作者possumpossum
相关产品推荐
相关产品推荐

