跳到主要内容

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 都能满足各种图像处理需求。通过掌握其常用命令,你可以轻松地进行图像格式转换、大小调整、裁剪、添加文本等操作。