Node中的图片处理
图片处理需要安装一个软件 http://wwww.GraphicsMagick.org 这个软件gm.exe本身不具备什么功能,但是它却提供了系统底层操作图片的接口,可以通过命令的模式来操作图片。
下载地址:https://nchc.dl.sourceforge.net/project/graphicsmagick/graphicsmagick-binaries/1.3.35/GraphicsMagick-1.3.35-Q16-win64-dll.exe安装完毕后需要将 “C:\Program Files\GraphicsMagick-1.3.35-Q16” 路径添加到系统path中,方便随时调用
在项目中安装gm包
npm install gm
- 操作参考以下代码:
const fs = require('fs')
const gm = require('gm')
var input = './public/images/1.JPG'
var ouput = './public/images/2.JPG'
gm(input)
//宽、高、x、y
.crop(165, 83, 4025, 1925)
.write(ouput, function (err) {
if (!err) console.log('success');
})
参考资料
gm命令文档 http://aheckmann.github.io/gm/docs.html
gm包参考文档 https://www.npmjs.com/package/gm实现思路:
- 前端参考jcrop代码案例,下载地址: https://codeload.github.com/tapmodo/Jcrop/zip/v0.9.15
- 通过jcrop获取图片裁剪的4个值 ,jquery获取选中层的div即可
- 通过Jquery ajax异步传递到后台
- 通过nodejs调用gm接口库,实现对原始图片裁剪与保存
- 实现效果
原图
截取