使用 ImageMagick 简单处理图片

ImageMagick 是一个图片处理工具,包含像 convert 等工具,能满足基本的需求,Ubuntu/CentOS 直接通过各自的包管理器安装:
$ yum install ImageMagick
$ apt-get install imagemagick

该工具包包含下面几个命令:

  • convert
  • identify
  • mogrify
  • composite
  • montage
  • compare
  • display
  • animate
  • import
  • conjure


下面仅记录常用的,基本上看英文就能明白大概的操作了。

缩小放大图片:
$ convert   -resize  100x200  xiaoqi.jpg xiaoqi1.jpg
$ convert   -resize   80%   xiaoqi.jpg xiaoqi.jpg
$ convert -sample 10% xiaoqi.jpg xiaoqi.jpg

在图片的左上方加上文字说明:
$ convert -font helvetica -fill white -pointsize 26  -draw 'text 10,50 "Hello World"' xiaoqi.jpg xiaoqi1.jpg

更改图片格式:
$ find ./ -name "*.jpg" -exec convert {} {}.gif \;

各种奇幻效果:
$ convert -spread 1 xiaoqi.jpg xiaoqi1.jpg
$ convert -charcoal 2 xiaoqi.jpg xiaoqi1.jpg
$ convert -rotate 90 xiaoqi.jpg xiaoqi1.jpg
$ convert -mattecolor "#000000" -frame 60x60 xiaoqi.jpg xiaoqi1.jpg
$ convert -border 60x60 -bordercolor "#000000" xiaoqi.jpg xiaoqi1.jpg
$ convert -blur 430x8 xiaoqi.jpg xiaoqi1.jpg
$ convert -flip xiaoqi.jpg xiaoqi1.jpg
$ convert -flop xiaoqi.jpg xiaoqi1.jpg
$ convert -monochrome xiaoqi.jpg xiaoqi1.jpg
$ convert -noise 20 xiaoqi.jpg  xiaoqi1.jpg
$ convert -paint 4 xiaoqi.jpg xiaoqi1.jpg
$ convert -spread 3 xiaoqi.jpg  xiaoqi1.jpg
$ convert -raise 5x5 xiaoqi.jpg xiaoqi1.jpg

截屏:
$ import xiaoqi.jpg

截取整个屏幕:
$ import -pause 3 -window root xiaoqi.jpg

显示图片:
$ display xiaoqi.jpg

显示图片文件悉信息:
$ identify [-verbose] xiaoqi.jpg

加水印:
$ composite -compose bumpmap -gravity southeast -dissolve 25 watermark.jpg input.jpg output.jpg

ref:

http://www.imagemagick.org/script/command-line-tools.php
https://www.ibm.com/developerworks/cn/linux/l-graf
https://www.ibm.com/developerworks/cn/linux/l-graf2