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

        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號
        主站蜘蛛池模板: 九九精品在线观看| 9久热这里只有精品| 99热亚洲精品6码| 蜜芽亚洲av无码精品色午夜| 国产成人亚洲精品91专区手机| 精品国产VA久久久久久久冰 | 一区二区三区精品高清视频免费在线播放| 久久精品国产只有精品2020| 欧美性videos高清精品| 欧美精品人爱a欧美精品| 99久久精品无码一区二区毛片 | 国产精品片在线观看手机版 | 久久亚洲精品成人av无码网站| 久久久久久亚洲精品不卡| 国产成人无码精品久久久免费| 久久99精品国产一区二区三区| 精品一区二区三区无码免费视频 | 精品亚洲欧美中文字幕在线看 | 无码精品人妻一区| 精品一区二区三区免费观看 | MM1313亚洲精品无码| 国产精品福利一区二区| MM1313亚洲国产精品| 久久精品天天中文字幕人妻| 亚洲国产精品一区第二页| 亚洲国产成人精品无码久久久久久综合| 久久激情亚洲精品无码?V| 久久精品成人欧美大片 | 国产精品成| 国产精品日韩欧美在线第3页| 91精品国产高清久久久久久国产嫩草| 久久精品视频免费| 91精品国产麻豆国产自产在线| 国产成人精品视频2021| 国产免费久久精品丫丫| 精品少妇一区二区三区在线| 日本加勒比久久精品| 一本一道久久a久久精品综合 | 97国产精品视频| 久久九九亚洲精品| 国产69精品久久久久9999|