站長資訊網
最全最豐富的資訊網站

Node項目中用images+imageinfo庫給圖片批量添加水印

Nodejs中怎么給圖片批量添加水印?下面本篇文章給大家介紹一下Node項目中用images+imageinfo庫給圖片批量添加水印的方法,希望對大家有所幫助!

Node項目中用images+imageinfo庫給圖片批量添加水印

Nodejs給圖片批量添加水印

環境準備

安裝 images 庫

npm install images

安裝 imageinfo 庫

npm install imageinfo

實現

本例 addimageinfo.js 與 marklogo.png 、imagest文件夾、node_modules 文件夾 在同一目錄下。

含子文件也可實現

JS代碼

若直接使用需修改一下信息

var logomarkimg = images('./marklogo.png');//水印位置 var rmimgpath = "./imagest/img/";//添加圖片文件加位置 var mark = "logo_";//另存圖片前綴,若為""則替換原圖片

完整代碼 addimageinfo.js

//引用文件系統模塊 var fs = require("fs"); //引用imageinfo模塊 var imageInfo = require("imageinfo"); //引用images模塊 var images = require('images');  var logomarkimg = images('./marklogo.png');//水印位置 var rmimgpath = "./imagest/img/";//添加圖片文件加位置 var mark = "logo_";//另存圖片前綴,若為""則替換原圖片  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))         });         return imageList;     } }; //獲取文件夾下的所有圖片 var photos = getFiles.getImageFiles(rmimgpath); for (var i = 0; i < photos.length; i++) {     var sourceImgpath = photos[i].path;     var sourceImgname = photos[i].filename;     var sourceImg = images(sourceImgpath + sourceImgname);     var sWidth = sourceImg.width();     var sHeight = sourceImg.height();     var wmWidth = logomarkimg.width();     var wmHeight = logomarkimg.height();      images(sourceImg)         // 設置繪制的坐標位置,右下角距離 10px         .draw(logomarkimg, sWidth - wmWidth - 10, sHeight - wmHeight - 10)         // 保存格式會自動識別         .save(sourceImgpath + mark + sourceImgname + ''); }

運行

在目錄下,運行node命令

node ./addimageinfo.js

查看效果

Node項目中用images+imageinfo庫給圖片批量添加水印
Node項目中用images+imageinfo庫給圖片批量添加水印
Node項目中用images+imageinfo庫給圖片批量添加水印

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产成人精品亚洲精品| 99re视频热这里只有精品7 | 精品亚洲国产成人av| 华人在线精品免费观看 | 午夜精品乱人伦小说区| 囯产精品久久久久久久久蜜桃| 亚洲A∨精品一区二区三区| 国产精品无码日韩欧| 国产精品视_精品国产免费| 亚洲国产精品精华液| 国产精品俺来也在线观看| 亚洲精品视频免费在线观看| 香蕉久久夜色精品升级完成| 久章草在线精品视频免费观看| 一本一本久久A久久综合精品| 香蕉久久综合精品首页| 精品人妻少妇一区二区| 国产成人精品一区在线| 日韩精品无码视频一区二区蜜桃| 国产精品久久久久网站| 国产精品无码无片在线观看3D| 国语自产精品视频在线看| 国产香蕉九九久久精品免费| 亚洲精品V天堂中文字幕| 中文字幕亚洲精品无码| 国产精品99久久久久久宅男小说| 久久久久久午夜精品| 大香伊人久久精品一区二区| 久久久久久久91精品免费观看| 国产毛片片精品天天看视频| 国产精品自在自线视频| 久久久99精品成人片| 欧美日韩精品一区二区在线观看| 免费精品人在线二线三线区别| 免费精品人在线二线三线区别 | 日韩免费无砖专区2020狼| 欧美日韩一区二区成人午夜电影 | 久久精品视频99| 婷婷五月深深久久精品| 99re热这里只有精品| 亚洲高清日韩精品第一区|