ImageMagick是一个开源的图形图画编辑软件库,能够经过指令行或API与许多编程言语进行交互。它能够用于创建、编辑和合成位图图画,并支撑超越100种文件格式。他支撑许多常见的图画处理操作,例如压缩、裁剪、调整巨细、旋转、含糊等等。
要在mac上装置ImageMagick,有几种不同的办法:
1. Homebrew
Homebrew是macOS上面一个非常流行的包管理工具,在运用Homebrew时,履行以下指令即可装置ImageMagick:
brew install imagemagick
2. MacPorts
MacPorts 是一种替代 Homebrew 的 macOS 软件管理工具,它也供给了 ImageMagick 的装置。您能够经过以下指令装置 ImageMagick:
sudo port install ImageMagick
3. 下载官方装置包
假如你不想用终端指令来装置 ImageMagick,最好的方法就是去官网下载可履行装置文件:imagemagick.org/script/down…。下载之后,双击 .dmg 文件并按照提示进行装置。
常用的 ImageMagick 指令案例
取舍图片
运用 -crop
参数,你能够对图片进行取舍。例如,将 input.jpg
剪切成尺度为 400x400
的图片,并保存为 output.jpg
的指令是:
convert input.jpg -crop 400x400+0+0 output.jpg
改变图片巨细
运用 -resize
参数能够改变图片巨细。例如,调整尺度为 800x600
的图片的指令是:
convert input.jpg -resize 800x600 output.jpg
图片旋转
运用 -rotate
参数旋转图片。例如,将图片逆时针旋转45度并保存为 output.jpg
的指令是:
convert input.jpg -rotate -45 output.jpg
添加图片水印
运用 -composite
参数和 -gravity
参数添加图片水印。例如:
convert input.jpg watermark.png -gravity southeast -composite output.jpg
文字水印
运用 -annotate
参数添加文字水印。例如,将 “Hello World” 添加到图片中心的指令是:
convert input.jpg -pointsize 72 -draw "text 50,100 'Hello World'" output.jpg
压缩图片
convert input.jpg -quality 80 output.jpg
这个指令将把 input.jpg
压缩到 80% 的质量,并将输出保存到 output.jpg
调整图片巨细
convert input.jpg -resize 50% output.jpg
这个指令将把 input.jpg
调整为原始尺度的50%,并将输出保存到 output.jpg
旋转图片
convert input.jpg -rotate 90 output.jpg
这个指令将把 input.jpg
逆时针旋转90度,并将输出保存到 output.jpg
裁剪图片
convert input.jpg -crop 500x500+100+100 output.jpg
这个指令将从 input.jpg
图画中裁剪出一个500×500巨细的图画,开始位置为 (100,100),并将输出保存到 output.jpg
图画含糊
convert input.jpg -blur 0x8 output.jpg
这个指令将使用高斯滤波器,将 input.jpg
图画含糊,并将输出保存到 output.jpg
添加水印
convert input.jpg -font Arial -pointsize 50 -draw "gravity south fill black text 0,12 ' Your Company Name' fill white text 1,11 ' Your Company Name'" output.jpg
这个指令会将Arial字体巨细为50的版权文字添加到输入图画的底部,并在黑色背景下显现白色文字。
将目录下的一切图片悉数裁剪并保存到另一个目录中:
mkdir output
mogrify -path output -trim *.jpg
mogrify
指令能够一次性批量修改多张图片,上面这个示例将会把当前目录下的一切JPG图片裁剪并存储到output目录内,裁剪完结后显现处理结果。 -trim
选项指定在每个图片周围删去边框上,可能存在的空白的画布区域。
总结
ImageMagick 是图画处理的重量级利器,主要特点是多样化、跨平台、开源免费等。咱们能够经过各种指令轻松地完结绝大多数图画处理使命,也能够与各种编程言语(如 Python、PHP 等)搭配运用,极大地增加了其使用场景及扩展性,无论是初学者仍是高级用户都值得探索和运用。