跳到正文
跟我做
I
图像处理免费开源更新 2026/10/24

ImageMagick

命令行的图像处理工具,用来批量缩放、裁剪、加水印、转格式和拼联系表。适合不打开设计软件的重复图片处理。

适合什么

  • 把几十上百张图片统一缩放到平台要求的尺寸。
  • 批量裁剪、补边、转格式、压体积。
  • 给图片加统一位置的水印或边框。
  • 生成联系表,快速预览一批素材。

不适合什么

  • 需要精细排版和设计感的封面,这类工作用模板加代码渲染更可控。
  • 复杂的图层合成和视觉特效,图形界面工具更快。
  • 在服务器上处理来路不明的文件,需要先做好隔离和资源限制。

常用命令

查看一批图片的尺寸:

magick identify -format "%f %wx%h\n" *.jpg

批量缩放并居中裁剪成固定尺寸:

magick mogrify -path out -resize "1080x1440^" -gravity center -extent 1080x1440 *.jpg

注意 mogrify 会覆盖文件,先用 -path out 输出到新目录,确认结果后再替换原图。

生成联系表:

magick montage -label "%f" *.jpg -tile 4x -geometry 240x320+8+8 contact.jpg

ImageMagick 7 使用 magick 作为主命令;旧版本里常见的 convert 仍然可用,但新脚本建议统一写 magick。

免费替代

  • Sharp:Node 项目里做批量图片处理更顺手,适合和现有脚本集成。
  • FFmpeg:处理视频抽帧和视频封面时更合适。
  • 系统自带预览工具:单张调整够用,不适合批量任务。

注意

  • 处理用户上传的图片前,限制内存、磁盘和超时,避免一张超大图拖垮机器。
  • 检查 policy.xml 配置,禁用不必要的格式解码器,尤其是服务器环境。
  • 批量覆盖前先在副本上跑一遍,确认尺寸和方向没有错。
  • 手机照片可能带 EXIF 方向信息,批量处理时留意是否需要自动旋转。