Nodejs处理图片裁剪+保存

Node中的图片处理

  1. 图片处理需要安装一个软件 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

  2. 安装完毕后需要将 “C:\Program Files\GraphicsMagick-1.3.35-Q16” 路径添加到系统path中,方便随时调用

  3. 在项目中安装gm包

npm install gm
  1. 操作参考以下代码:
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');
    })
  1. 参考资料
    gm命令文档 http://aheckmann.github.io/gm/docs.html
    gm包参考文档 https://www.npmjs.com/package/gm

  2. 实现思路:

  • 前端参考jcrop代码案例,下载地址: https://codeload.github.com/tapmodo/Jcrop/zip/v0.9.15
  • 通过jcrop获取图片裁剪的4个值 ,jquery获取选中层的div即可
  • 通过Jquery ajax异步传递到后台
  • 通过nodejs调用gm接口库,实现对原始图片裁剪与保存
  1. 实现效果
    原图

    截取
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容