咱們常常會遇到服務器上傳的圖片進行裁剪或者增長logo等等一些操做,在node平臺上該如何實現呢?node
看到你們都在使用"gm"這個工具,功能很強大,可是在Windows平臺上簡直就是各類坑啊,我整了一下午雖然解決了一部分問題,但仍是選擇了另一款不錯的,並且輕量級跨平臺比較好的截圖模塊——imagesjquery
安裝方式 npm install images git
github地址爲https://github.com/zhangyuanwei/node-imagesgithub
正如做者所描述的,輕量級、跨平臺、jquery風格npm
我這裏僅列出幾個咱們經常使用到的幾個功能的demojson
1. 設置或者獲取圖片的大小服務器
第一種: 工具
1 var images = require("images"); 2 images("image/test.jpg") 3 .size() 4 .save("image/dist.jpg");
第二種ui
1 var images = require("images"); 2 images("image/test.jpg") 3 .width() 4 .save("image/dist.jpg");
以上兩種方式中若是不包含參數將會返回圖片的寬度或者高度,size返回的是一個json,{width:,height: },若是包含參數的話,圖片將會按照參數設置更改圖片大小(還有一個resize()接口也能夠設置圖片的大小)spa
2. 繪製一個區域,目前images在這方面功能比較有限,只能畫方形。
1 var images = require("images"); 2 images(400,400) 3 .fill(255,0,0,0.5) 4 .save("image/dist.jpg");
以上代碼繪製了一塊400*400的紅色方塊
3. 將logo繪製到圖片中,這個仍是比較實用的,直接上代碼
1 var images = require("images"); 2 images("image/test.jpg") 3 .draw(images("image/logo.jpg"),200,200) 4 .save("image/dist.jpg");
4. 截取圖片的一部分,這個功能及其有用,尤爲是截取用戶頭像的時候,很是有意義
1 var images = require("images"); 2 images(images("image/test.jpg"),200,200,500,500) 3 .resize(100) 4 .save("image/dist.jpg");
這就是這個工具的幾個比較經常使用的一些功能,雖然相比gm少了不少,可是足夠知足咱們的大部分的基本需求了。