imageMagick图片处理

mac上安装 imageMagick

通过brew方式

1
$ brew install imagemagick

修改图片质量(大小)

把a.jpg 缩小质量为 70 生成新的 b.jpg

1
$ convert -quality 70 -strip a.jpg b.jpg
  • -strip 为删除一些图片自带的配置信息,进一步减小图片大小

修改图片尺寸

1、a.jpg 尺寸为 500x500 将a.jpg 修改成 100x100 的尺寸

1
$ convert -resize 100x100 a.jpg b.jpg

2、强制转换图片尺寸:

1
$ convert -resize '100x100!' a.jpg b.jpg

3、图片尺寸判断:
图片尺寸全部 大于/小于 设置的尺寸才会进行操作

1
2
$ convert -resize '100x100>' a.jpg b.jpg
$ convert -resize '100x100<' a.jpg b.jpg

  • 注:100x100 中的是字母 x 不是 *

图片添加水印(文本的方式)

1、居中水印

1
convert -fill 'rgba(221, 34, 17, 0.25)' -pointsize 36  -gravity center -draw 'text 0,0 "miaochunxu.cn"' a.png b.png

2、倾斜平铺

1
convert -size 150x150 xc:none -fill '#f5871f' -pointsize 20 -gravity center -draw 'rotate -45 text 0,0 "miaochunxu.cn"' -resize 60% miff:- | composite -tile -dissolve 20 - a.png b.png

  • 原理为先用文本生成一个图片,然后把图片合并
  • -size: 图片尺寸
  • xc: 画布背景
    • none: 透明
  • -fill: 文本颜色
  • -pointsize: 文本大小
  • -gravity: 文本位置
    • center
    • northwest
    • north
    • northEast
    • west
    • east
    • southwest
    • south
    • southeast
  • -draw: 绘图操作
    • rotate: 旋转角度
    • text: 绘制文本
    • 0,0: 表示偏移角度
    • miaochunxu.cn: 文本内容
  • miff: 作为图像元素传递的中间件
    • -: 声明标准输出
  • |: 管道符
  • composite: 图片组合命令
  • -tile: 平铺
  • -dissolve: 平铺透明度
  • a.png: 原始图片
  • b.png: 生成水印图片名字