如何用单行ImageMagick命令批量缩放PNG并叠加背景图?
ImageMagick批量处理图片:缩放并叠加背景
需求描述
将before文件夹中所有.png格式的图片按比例缩放到最大宽度1100像素、高度800像素,随后将缩放后的图片叠加到背景图background.jpg上,最终以原文件名保存到after文件夹。
已实现的单文件处理命令:
magick convert before/image1.png -resize 1100x800^> before/image1_resized.png magick convert -gravity center -composite background.jpg before/image1_resized.png after/image1.png
批量处理单行命令
Linux/macOS(Bash环境)
for img in before/*.png; do magick convert background.jpg "$img" -resize 1100x800^> -gravity center -composite "after/$(basename "$img")"; done
Windows(命令提示符)
for %i in (before\*.png) do magick convert background.jpg "%i" -resize 1100x800^> -gravity center -composite "after\%~nxi"
说明
- 命令无需生成临时的
_resized文件,一步完成缩放→居中叠加背景→保存到目标文件夹的全流程 - 自动保留原图片文件名,保证输出文件与输入文件一一对应
内容的提问来源于stack exchange,提问作者napster993
相关产品推荐
相关产品推荐

