踩坑!填坑!NodeJS環境使用GraphicIMagicK裁切、縮放圖片

toymm發表於2018-04-10

為了讓我們前端同學多瞭解一下整個專案選型-開發-部署-維護的全套流程,我們前端團隊打算拿公司的一個子專案進行重構。也就是圖片處理專案,以前這個專案是java寫的。為了便於前端把後端服務也做了,我們決定用nodejs+GraphicIMagicK,以下就說一下GraphicIMagicK(簡稱“gm”)在使用GraphicIMagicK中的一些遇到坑

什麼是GraphicIMagicK

為了提高頁面的載入速度,以及減少流量,要針對網站的圖片進行瘦身。GraphicIMagicK是nodejs環境下的一套功能強大、穩定而且開源的工具集和開發包,可以用來讀、寫和處理超過幾十種基本格式的圖片檔案,包括流行的TIFF、JPEG、GIF、PNG等格式。利用它你可以根據web應用程式的需要動態生成圖片,還可以對一個(或一組)圖片進行改變大小、旋轉、銳化、減色或增加特效等操作,並將操作的結果以相同格式或其它格式儲存

安裝

windows

先安裝GraphicIMagicKImageMagick, 安裝教程可以參考這裡安裝完重啟電腦

Mac OS X,

brew install imagemagick
brew install graphicsmagick
複製程式碼

如果需要ImageMagick的WebP支援, 則:

brew install imagemagick --with-webp
複製程式碼

專案中

npm install gm --save
複製程式碼

或者clone分支:

git clone git://github.com/aheckmann/gm.git
複製程式碼

api

請參考 api

一開是傻傻的安裝完,直接擼demo,

let gm = require('gm');
gm('./banner.jpg')
 .identify(function (err, data) {
    if(err) {
        console.log(err);
    }else{
        console.log(data)
   }
 });
複製程式碼

踩坑!填坑!NodeJS環境使用GraphicIMagicK裁切、縮放圖片
報錯,意思是找不到gm的包,檢查node_module裡,確實已經安裝gm了,搜了好多資料,沒療效! cmd輸入gm,提示也是安裝成功,檢查環境變數也沒問題,崩潰了!一怒之下重啟電腦,然後...好了...好了!! gm安裝完也沒提示重啟電腦生效啊!!

搜這個錯誤提示沒有一個說需要重啟電腦

遂立此貼,以示來者!

相關文章