node压缩图片
# 安装

我选择的是`node for gm`库来处理图片上传后的压缩

首先下载[GraphicsMagick](http://www.graphicsmagick.org/)，建议把[ImageMagick](http://www.imagemagick.org/script/download.php#windows)也下载了

## GraphicsMagick

![image](https://user-images.githubusercontent.com/17243165/38477607-265a9d12-3be6-11e8-9818-d72b08e67559.png)

## ImageMagick

![image](https://user-images.githubusercontent.com/17243165/38477586-080496f6-3be6-11e8-86c0-c226b3524f43.png)

注意如果要勾选`Install legacy utilities(e.g. convert)`选项，不然会出现`Error: Could not execute GraphicsMagick/ImageMagick: gm “identify” “-ping” “-format” “%[EXIF:Orientation`
![image](https://user-images.githubusercontent.com/17243165/39284923-4c8482c2-4948-11e8-9fcf-4324815c5748.png)


当然安装完后可以在cmd输入gm来测试是否成功

![image](https://user-images.githubusercontent.com/17243165/38467620-191fcb40-3b6e-11e8-9f2f-604b93943f3d.png)

这里注意的是win系统在装完要重启一次电脑，不然有可能出现`convert`跟系统命令冲突的错误

再安装node的[gm](https://github.com/aheckmann/gm)库

```bash
npm install gm
```

# 使用

`GraphicsMagick`是从`ImageMagick`中分离出来的
加载GraphicsMagick(大小4.26 MB) 
```js
var gm = require('gm')
```

加载`ImageMagick`(大小26.2 MB)，推荐`ImageMagick`
```js
var gm = require('gm').subClass({imageMagick: true})// 注意使用的区别
```

除了加载有区别，其他使用方式完全一样
