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

        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號
        主站蜘蛛池模板: 精品久久久无码中文字幕| 人妻少妇看A偷人无码精品视频| 国产午夜亚洲精品理论片不卡| 国精品无码一区二区三区在线| 国产一在线精品一区在线观看| freesexvideos精品老师毛多| 欧美亚洲另类精品第一页| 亚洲成人精品久久| 国产人妖乱国产精品人妖| 最新精品露脸国产在线| 99久久国产热无码精品免费久久久久 | 国产在线精品一区二区高清不卡| 亚洲精品成人片在线播放| 精品国产AⅤ一区二区三区4区 | 精品性影院一区二区三区内射 | 欧美在线精品一区二区三区| 成人精品一区二区三区电影黑人 | 3级黄性日本午夜精品| 国产成人亚洲合集青青草原精品 | 九九精品99久久久香蕉| 亚洲一区精品无码| 日韩精品无码Av一区二区| 国产午夜精品一区二区三区不卡| 久久久国产精品福利免费| 国产精品莉莉欧美自在线线| 3D动漫精品一区二区三区| 高清在线亚洲精品国产二区| 国产麻豆一精品一AV一免费| 精品偷自拍另类在线观看| 久久精品国产亚洲AV大全| 久久亚洲精品成人AV| 久久精品亚洲精品国产色婷| 精品一区二区三区波多野结衣| 亚洲AV午夜福利精品一区二区| 亚洲国产精品激情在线观看 | 久久国产精品-久久精品| 国产精品成人va在线观看| 高清免费久久午夜精品| 久久精品草草草| 91久久福利国产成人精品| 99热热久久这里只有精品68|