使用 ImageMagick 命令行工具处理图像指南
likun
Posted on July 9, 2024
ImageMagick 是一款免费的开源命令行工具,允许用户执行各种图像处理任务,例如图像转换、调整大小、裁剪、旋转、添加效果等。它支持多种图像格式,可在 Linux、Windows 和 macOS 上使用。在本教程中,我们将介绍 ImageMagick 中一些最常见的命令和选项。本文同步发布在我的博客
一、安装
在我们开始之前,你需要在系统上安装 ImageMagick,你可以从官方网站下载它。
1.mac上安装
在mac上使用homebrew安装即可。
brew install imagemagick
2.windows上安装
在windows上安装先查看的系统,查看 设置--系统--系统信息,
除非您使用的是 Windows 32 位操作系统,否则建议 64 位 Windows 上使用以下版本的 ImageMagick:ImageMagick-7.1.1-34-Q16-HDRI-x64-dll.exe,安装方式和其他软件一样,基本上是下一步下一步即可。
下载地址
如果你喜欢便携版本,也可以下载免安装的版本,根据系统不同在这里选择你的便携包。
例如: 你的系统是x64位,使用每像素 16 位组件, 则选择
ImageMagick-7.1.1-34-portable-Q16-x64.zip
下载解压到你的文件夹使用。
下载地址
3.检查安装
要检查它是否已安装,请打开终端并运行:
magick --version
如果您看到类似下面的输出,那么您就代表安装好了!
Version: ImageMagick 7.1.1-34 Q16-HDRI aarch64 22301 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(5.0)
Delegates (built-in): bzlib fontconfig freetype gslib heic jng jp2 jpeg jxl lcms lqr ltdl lzma openexr png ps raw tiff webp xml zlib zstd
Compiler: gcc (4.2)
二、基本命令
ImageMagick 拥有众多功能和能力。我将重点介绍我日常的使用一些功能,处理一些简单、实用的用例,但实际上,我们只是触及了此工具的表面。还有更多操作可以查看官方文档。
1.查看图片信息
在使用之前我们先了解一下检查图片信息的命令,使用 magick identify 检查你的图片信息。
magick identify tiger.jpg
输出
tiger.jpg JPEG 1280x853 1280x853+0+0 8-bit sRGB 279261B 0.000u 0:00.000
各个参数的代表的意义:
- tiger.webp:文件名。
- WEBP:图像格式(WEBP)。
- 1280x853:图像的维度,宽度为800像素,高度为400像素。
- 1280x853+0+0:图像维度和偏移量。
- 1280x853 表示图像的宽度和高度。
- +0+0 表示图像的偏移量(起始点位置),在这里表示没有偏移(从左上角开始)。
- 8-bit:每个颜色通道的位深度(这里是8位)。
- sRGB:图像的颜色空间(标准RGB颜色空间)。
- 279261B:图像文件的大小(字节),这里是279261字节(约279KB)。
- 0.000u:用户CPU时间(以秒为单位),即处理图像所花费的CPU时间。
- 0:00.000:真实时间(以分钟和秒为单位),即处理图像所花费的实际时间
2.转换图像格式
要将图像从一种格式转换为另一种格式,ImageMagick支持超过200种不同的图像格式,包括但不限于 PNG、JPEG、GIF、WebP、HEIC、SVG、PDF、DPX、EXR 和 TIFF 等。如果要转换图片格式,请使用命令 magick(以前版本是convert)后跟输入和输出文件名。例如,要将 PNG 图像转换为 WEBP,请运行:
magick input.png output.webp
同样,你想转换一个目录中的所有png 到webp,可以使用下面命令应用于目录中的所有图像:
mogrify -format webp *.png
这会将当前目录中的所有 PNG 文件转换为 WEBP,并保持原文件不变。
3.调整图像大小
要调整图像大小,请使用-resize 参数,后跟新尺寸。例如,要将图像大小调整为800x600像素,请运行:
magick input.jpg -resize 800x600 output.jpg
您还可以以百分比的方式来缩放图片:
magick input.jpg -resize 50% output.jpg
这会将图像大小调整为原始尺寸的 50%,通常,更改图像大小的最常见方法是将其缩小以适应所需大小。但是可以完全放大图像。
4.翻转和旋转
现在让我们看看如何翻转和旋转图像,这有时很有用。要旋转图像,请使用-rotate 参数。例如,要将图像顺时针旋转 60 度,请运行:
magick input.jpg -rotate 60 output.jpg
您还可以将旋转角度指定为负值以逆时针旋转:
magick input.jpg -rotate -60 output.jpg
5.裁剪图像
要裁剪图像,请使用-crop选项的命令,后跟新尺寸。裁剪的原点在左上角,例如,要从左上角开始将图像裁剪为 400x400 像素,请运行:
magick input.jpg -crop 400x400+0+0 output.jpg
该400x400部分指定新的尺寸,+0+0指定裁剪的起点。
您还可以将起点指定为图像大小的百分比:
magick input.jpg -crop 50%x50%+0+0 output.jpg
这会从图像的左上角开始将图像裁剪为原始尺寸的 50%。
5.添加水印
要给图片添加水印,使用下面类似下面的命令,例如在右下角添加一个“blog.eimoon.com”的水印。
magick image.jpg -gravity SouthEast -pointsize 24 -fill white -annotate +10+10 "blog.eimoon.com" image_watermarked.jpg
下面解释一下每个参数的含义:
- magick: ImageMagick的命令行工具,用于图像转换和处理。
- image.jpg: 输入的图片文件。
- -gravity SouthEast: 将水印定位在图片的右下角(东南角)。
- -pointsize 24: 设置水印文字的大小为24点。
- -fill white: 设置水印文字的颜色为白色。
- -annotate +10+10 "blog.eimoon.com": 在指定位置添加水印文本。+10+10 表示将水印文字从右下角向左上方偏移10像素,以免贴边太近。
- image_watermarked.jpg: 输出的图片文件,带有水印。
- 您可以调整不透明度和重力值,将水印放置在您喜欢的任何位置。您还可以为图片添加更多效果。尝试不同的选项,看看您能想出什么样的创意效果. ### 6.添加模糊效果 要为图像添加模糊效果,使用-blur参数,后跟半径和 sigma 值。sigma 值决定模糊量。要添加半径和 sigma 值为 5 的高斯模糊,请运行: ```shell
magick tiger.jpg -blur 5X5 tiger2.jpg
![模糊效果](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hiviktxcuoldzw83dwgi.png)
### 7.添加锐化效果
要为图像添加锐化效果,请使用-sharpen选项的命令,后跟半径和 sigma。要添加半径为 0 且 sigma 为 1 的锐化效果,请运行:
```shell
magick tiger.jpg -sharpen 0X1 tiger2.jpg
您可以调整半径和 sigma 值来创建不同级别的锐化.
结论
在本文中,我们介绍了 ImageMagick 提供的通过命令行处理图像的一些基本功能。还有一下颜色修改,生成gif动画,添加边框等等操作, 我使用的不多,如果你感兴趣的可以查看文档。
当然,再次强调,我们这些操作只触及了冰山一角,还有许多高级功能和选项可用,因此请务必查看ImageMagick 文档以了解更多详细信息。
原文我的博客
Posted on July 9, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 27, 2024