跳到主要内容

ImageMagick

什么是 ImageMagick?

ImageMagick 是一个开源的图像处理软件套件,支持创建、编辑、合成和转换位图图像。它支持多种图像格式,包括但不限于 JPEG、PNG、GIF、TIFF、PDF 等。ImageMagick 可以通过命令行界面或编程接口使用,广泛应用于图像处理的各种任务。

安装 ImageMagick

在 macOS 上安装

在 macOS 上,可以通过 Homebrew 安装 ImageMagick:

brew install imagemagick

在 Ubuntu 上安装

在 Ubuntu 上,可以使用 APT 包管理器安装:

sudo apt update
sudo apt install imagemagick

在 Windows 上安装

可以从 ImageMagick 的官方网站 下载 Windows 安装程序并按照说明进行安装。

基本用法

ImageMagick 的命令行工具主要是 convert,但在较新的版本中,推荐使用 magick 命令来调用其他工具。

查看版本

要查看安装的 ImageMagick 版本,可以运行以下命令:

magick -version

显示图像信息

使用 identify 命令查看图像信息:

magick identify image.jpg

常用命令

转换图像格式

将图像从一种格式转换为另一种格式,例如将 PNG 转换为 JPEG:

magick convert image.png image.jpg

调整图像大小

调整图像大小,使用 -resize 参数:

magick convert image.jpg -resize 800x600 output.jpg

裁剪图像

使用 -crop 参数裁剪图像:

magick convert image.jpg -crop 100x100+50+50 output.jpg

这里,100x100 是裁剪区域的宽和高,+50+50 是裁剪区域的左上角坐标。

添加文本到图像

使用 -annotate 添加文本到图像:

magick convert image.jpg -gravity South -pointsize 36 -fill white -annotate +0+10 "Hello World" output.jpg

生成缩略图

创建一个缩略图,可以使用 -thumbnail 参数:

magick convert image.jpg -thumbnail 200x200 thumbnail.jpg

旋转图像

使用 -rotate 参数旋转图像:

magick convert image.jpg -rotate 90 output.jpg

调整图像亮度和对比度

调整图像的亮度和对比度,使用 -brightness-contrast

magick convert image.jpg -brightness-contrast 10x20 output.jpg

合并多张图像

将多张图像合并成一张图像:

magick convert image1.jpg image2.jpg +append output.jpg  # 水平合并
magick convert image1.jpg image2.jpg -append output.jpg # 垂直合并

示例

示例 1:批量转换图像格式

下面的脚本将当前目录下的所有 PNG 图像转换为 JPEG 格式:

#!/bin/bash
for file in *.png; do
magick convert "$file" "${file%.png}.jpg"
done

示例 2:生成 GIF 动画

将多张图像合成一张 GIF 动画:

magick convert -delay 100 -loop 0 frame*.png animation.gif

示例 3:创建透明背景的 PNG

将 JPG 图像转换为带透明背景的 PNG 图像:

magick convert image.jpg -transparent white output.png

文档和资源

总结

ImageMagick 是一个强大的图像处理工具,支持多种图像格式和多种处理功能。无论是通过命令行操作还是编程接口,ImageMagick 都能满足各种图像处理需求。通过掌握其常用命令,你可以轻松地进行图像格式转换、大小调整、裁剪、添加文本等操作。