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

        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號
        主站蜘蛛池模板: 四虎国产精品永久在线| 国内精品伊人久久久久网站| 97久久精品人人做人人爽| 国产精品久久久久久影院| 国产亚洲精品国产| 亚洲精品久久久www| 中文字幕无码精品亚洲资源网久久 | 国内精品免费久久影院| 国产亚洲福利精品一区| 人妻精品久久久久中文字幕69| 国产精品无码av在线播放| 国产精品18久久久久久vr| 亚洲国产精品嫩草影院在线观看 | 国产精品美女久久久m| 中文字幕精品一区| 国产精品国产亚洲精品看不卡| 欧美国产成人久久精品| 欧美精品v国产精品v日韩精品| 美女岳肉太深了使劲国产精品亚洲专一区二区三区 | 久久青青草原精品影院| 久久99精品久久久久久噜噜| 在线观看自拍少妇精品| 久久久久亚洲精品男人的天堂| 日韩精品无码免费一区二区三区| 久久99国产精品成人欧美| 99国产精品私拍pans大尺度| 久久久精品午夜免费不卡| 国产精品久久国产精品99盘| 国产国拍亚洲精品mv在线观看| 日本伊人精品一区二区三区| 亚洲av日韩av天堂影片精品| 中国大陆精品视频XXXX| 亚洲一区二区精品视频| 一本大道无码日韩精品影视| 亚洲国产精品成人网址天堂| 欧美精品在线视频| 亚洲av午夜国产精品无码中文字 | 91麻豆国产福利精品| 久草视频精品在线| 免费人成在线观看欧美精品| 久夜色精品国产一区二区三区|