Nodejs處理圖片裁剪+保存

Node中的圖片處理

  1. 圖片處理需要安裝一個(gè)軟件 http://wwww.GraphicsMagick.org 這個(gè)軟件gm.exe本身不具備什么功能,但是它卻提供了系統(tǒng)底層操作圖片的接口,可以通過命令的模式來(lái)操作圖片。
    下載地址: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” 路徑添加到系統(tǒng)path中,方便隨時(shí)調(diào)用

  3. 在項(xiàng)目中安裝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. 實(shí)現(xiàn)思路:

  • 前端參考jcrop代碼案例,下載地址: https://codeload.github.com/tapmodo/Jcrop/zip/v0.9.15
  • 通過jcrop獲取圖片裁剪的4個(gè)值 ,jquery獲取選中層的div即可
  • 通過Jquery ajax異步傳遞到后臺(tái)
  • 通過nodejs調(diào)用gm接口庫(kù),實(shí)現(xiàn)對(duì)原始圖片裁剪與保存
  1. 實(shí)現(xiàn)效果
    原圖

    截取
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容