ImageMagick开源图片处理神器

ImageMagick 是一款跨平台的开源图片处理工具,无需图形界面,通过命令行即可完成图片长宽比裁剪、黑色/透明背景填充、格式转换(JPG/PNG/WebP)以及质量压缩等常见操作,简单高效。

- 次阅读 409 字 阅读约 2 分钟

前言

ImageMagick 是一个强大的开源图片处理工具,支持多种图片格式和丰富的功能。无论是简单的图片转换,还是复杂的图像编辑,ImageMagick 都能轻松应对。 我经常使用它来做一些图片的大小调整和格式转换,效果非常好。下面是一些常用的 ImageMagick 命令示例。

安装

ImageMagick本身是跨平台的,可以在Windows和macOS上使用。

在windows上可以使用winget安装

winget install ImageMagick.Q16

在macos上可以使用homebrew安装

brew install imagemagick

调整长宽比例

现在自媒体平台对图片的长宽比例有严格的要求,通常是16:9或者4:3。 使用ImageMagick可以轻松调整图片的长宽比例。

先缩放再裁剪

如果想要先将图片等比缩放到满足长宽比例的要求,然后再裁剪掉多余的部分,可以使用以下命令:

# 将图片调整为16:9的长宽比例
magick input.jpg -resize 1920x1080^ -gravity center -extent 1920x1080 output.jpg
  • ^:表示等比缩放,直到满足最小边的要求。
  • -gravity center -extent:居中裁剪

添加黑色背景

magick input.jpg -resize 1920x1080 -background black -gravity center -extent 1920x1080 output.jpg

添加透明背景

magick input.jpg -resize 1920x1080 -background transparent -gravity center -extent 1920x1080 output.png

图片格式

ImageMagick 支持多种图片格式,可以轻松进行格式转换。例如,将 JPG 转换为 PNG:

magick input.jpg output.png

也可以支持转换成 WebP 格式:

magick input.jpg output.webp

图片压缩

ImageMagick 还可以用来压缩图片,减少文件大小。例如,将 JPG 图片压缩到 80% 的质量:

magick input.jpg -quality 80 output.jpg

最佳实践

我在自己的文章中使用图片时,为了节省图片带来的带宽成本,通常会先将图片转成 WebP格式,然后再利用压缩图片质量的命令进一步压缩图片大小,通常这样可以减少40%-60%左右的图片大小,同时保持较好的图片质量。

例如,我有一张原始的 JPG 图片,大小为 3MB,我会先将它转换成 WebP 格式

  1. 格式转换

    将 JPG 转换成 WebP 格式

    magick 压缩前.jpg 压缩前.webp
    
  2. 压缩图片

    再将 WebP 图片压缩到 70% 的质量

    magick 压缩前.webp -quality 70 压缩后.webp
    
  3. 效果对比

    压缩实验
    • 压缩前.jpg:3294K
    • 压缩前.webp:290K (-91%)
    • 压缩后.webp:278K (-4%)

通过上面的两步处理后,图片大小从 3MB 减少到了 278KB,节省了大量的带宽,同时图片质量也保持得很好。 不过也发现 WebP 格式在某些情况下降低图片质量没有显著的降低图片体积,这应该是由于 WebP 格式本身的压缩算法已经非常高效了,所以降低质量并不会显著减少文件大小,建议在实际使用中多尝试不同的压缩质量参数,以找到最佳的压缩效果。

文档信息


版权: 本文采用 CC-BY-NC-SA 4.0 许可协议
日期: 2026年2月23日 12:55
作者: Game1024