一、準備工作:
首先,你要閱讀完這篇文章://m.survivalescaperooms.com/article/97391.htm。
然后,我們安裝node.js的一個模塊:imageinfo。
npm install imageinfo
二、直接上DEMO:
步驟如下:
step1:文件夾結構

step2:JS代碼
//引用文件系統模塊var fs = require("fs");//引用imageinfo模塊var imageInfo = require("imageinfo");//引用images模塊var images = require('images');var watermarkImg = images('water_logo.png');function readFileList(path, filesList) {var files = fs.readdirSync(path);files.forEach(function (itm, index) {var stat = fs.statSync(path + itm);if (stat.isDirectory()) {//遞歸讀取文件readFileList(path + itm + "/", filesList)} else {var obj = {};//定義一個對象存放文件的路徑和名字obj.path = path;//路徑obj.filename = itm//名字filesList.push(obj);}})}var getFiles = {//獲取文件夾下的所有文件getFileList: function (path) {var filesList = [];readFileList(path, filesList);return filesList;},//獲取文件夾下的所有圖片getImageFiles: function (path) {var imageList = [];this.getFileList(path).forEach((item) => {var ms = imageInfo(fs.readFileSync(item.path + item.filename));ms.mimeType && (imageList.push(item.filename))});return imageList;}};//獲取文件夾下的所有圖片var photos = getFiles.getImageFiles("./public/");for (var i = 0; i < photos.length; i++) {var sourceImg = images('./public/'+photos[i]);var sourceImgName = photos[i];var sWidth = sourceImg.width();var sHeight = sourceImg.height();var wmWidth = watermarkImg.width();var wmHeight = watermarkImg.height();images(sourceImg)// 設置繪制的坐標位置,右下角距離 40px.draw(watermarkImg, sWidth - wmWidth - 40, sHeight - wmHeight - 40)// 保存格式會自動識別.save('./saveImg/'+ sourceImgName+'');}step3:運行node命令后,文件夾結構如下圖

step4:查看批量加水印的圖片

以上所述是小編給大家介紹的Node.js批量給圖片加水印的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答