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

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號
国产精品爱啪在线线免费观看| 午夜精品乱人伦小说区| 亚洲日韩av无码| 老色鬼永久精品网站| 99久久99久久精品免费看蜜桃| 99精品一区二区免费视频| 国产精品美女一区二区视频| 中文精品久久久久国产网站| 亚洲一区无码精品色| 污污网站国产精品白丝袜| 无码日韩精品一区二区免费| 免费观看四虎精品国产永久| 国产精品嫩草影院在线看| 精品国产福利在线观看91啪| 欧美日韩亚洲精品| 香蕉久久精品日日躁夜夜躁 | 91久久精品国产91性色也| 日韩精品无码久久久久久 | 91精品国产肉丝高跟在线| 无码人妻精品一区二区三区久久| 久久精品国产精品青草app| 亚洲精品卡2卡3卡4卡5卡区| 国精品无码一区二区三区在线蜜臀| 久久精品成人影院| 国产日韩高清三级精品人成| 精品久久久久久无码中文字幕| 国产偷国产偷高清精品| 国产乱子伦精品无码专区| 久久精品国产清自在天天线| 国产小呦泬泬99精品| 国产成人麻豆亚洲综合无码精品| 亚洲日韩精品无码专区网址| 免费精品久久天干天干| 精品九九久久国内精品| 久久亚洲国产午夜精品理论片| 青青青青久久精品国产h| 久久夜色精品国产嚕嚕亚洲av| 香蕉国产精品频视| 96免费精品视频在线观看| 精品国产福利一区二区| 亚洲欧美日韩久久精品|