站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

Node項(xiàng)目中用images+imageinfo庫給圖片批量添加水印

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

Node項(xiàng)目中用images+imageinfo庫給圖片批量添加水印

Nodejs給圖片批量添加水印

環(huán)境準(zhǔn)備

安裝 images 庫

npm install images

安裝 imageinfo 庫

npm install imageinfo

實(shí)現(xiàn)

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

含子文件也可實(shí)現(xiàn)

JS代碼

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

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

完整代碼 addimageinfo.js

//引用文件系統(tǒng)模塊 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 = {};//定義一個(gè)對象存放文件的路徑和名字             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)         // 設(shè)置繪制的坐標(biāo)位置,右下角距離 10px         .draw(logomarkimg, sWidth - wmWidth - 10, sHeight - wmHeight - 10)         // 保存格式會自動識別         .save(sourceImgpath + mark + sourceImgname + ''); }

運(yùn)行

在目錄下,運(yùn)行node命令

node ./addimageinfo.js

查看效果

Node項(xiàng)目中用images+imageinfo庫給圖片批量添加水印
Node項(xiàng)目中用images+imageinfo庫給圖片批量添加水印
Node項(xiàng)目中用images+imageinfo庫給圖片批量添加水印

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
精品一区二区三区无码免费直播| 日韩精品一区二区三区老鸦窝| 国产成人精品白浆久久69| 国产精品igao视频网| 无码精品久久一区二区三区| 孩交videos精品乱子豆奶视频| 久久伊人精品热在75| 亚洲精品无码久久久久sm| 国产国产人精品视频69| 精品综合久久久久久888蜜芽| 久久久久夜夜夜精品国产| 成人国内精品久久久久一区| 亚洲午夜福利精品无码| 日韩视频在线一区| 久久久久久亚洲精品影院| 91精品手机国产免费| 日韩精品极品视频在线观看免费 | 国产欧美精品123区发布| 国产成人亚洲精品| 北条麻妃久久99精品| 国产精品污WWW一区二区三区| 日韩精品一区二三区中文 | 久久精品香蕉视频| 精品一区二区三区无码免费直播| 国产在线麻豆精品观看| 国产精品素人福利| 国产精品观看在线亚洲人成网| 国产精品无码久久四虎| 久久人午夜亚洲精品无码区| 狠狠精品干练久久久无码中文字幕| 中文无码亚洲精品字幕| 3atv国产精品视频| 国产亚洲精品美女久久久久久下载| 无码精品A∨在线观看十八禁 | 久久久久人妻一区精品性色av| 久久一区二区三区精品| 亚洲国产精品lv| 99RE久久精品国产| 2021成人国产精品| 久久精品国产一区二区| 国产免费伦精品一区二区三区|