node上截取圖片工具 images(node-images)


我們經常會遇到服務器上傳的圖片進行裁剪或者增加logo等等一些操作,在node平台上該如何實現呢?

看到大家都在使用"gm"這個工具,功能很強大,但是在Windows平台上簡直就是各種坑啊,我整了一下午雖然解決了一部分問題,但還是選擇了另外一款不錯的,而且輕量級跨平台比較好的截圖模塊——images

 

安裝方式   npm install images  

github地址為https://github.com/zhangyuanwei/node-images

正如作者所描述的,輕量級、跨平台、jquery風格

我這里僅列出幾個我們常用到的幾個功能的demo

 

1. 設置或者獲取圖片的大小

 第一種: 

1 var images = require("images");
2 images("image/test.jpg")
3     .size()
4     .save("image/dist.jpg");

 第二種

1 var images = require("images");
2 images("image/test.jpg")
3     .width()
4     .save("image/dist.jpg");

以上兩種方式中如果不包含參數將會返回圖片的寬度或者高度,size返回的是一個json,{width:,height: },如果包含參數的話,圖片將會按照參數設置更改圖片大小(還有一個resize()接口也可以設置圖片的大小)

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少了很多,但是足夠滿足我們的大部分的基本需求了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM