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

        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號
        主站蜘蛛池模板: 久久99精品久久久久久齐齐 | 老司机67194精品线观看| 99re热视频这里只精品| 亚洲av午夜成人片精品电影| 88国产精品无码一区二区三区 | 最新国产精品拍自在线观看| 99久久99久久精品国产片| 国产女人精品视频国产灰线| 四虎成人精品在永久在线| 国产99久久久国产精品~~牛| 孩交VIDEOS精品乱子| 真实国产乱子伦精品一区二区三区| 国内精品免费久久影院| 97国产视频精品| 亚洲综合一区二区精品导航| 国产精品91视频| www国产精品| 99精品在线观看| 国产精品视频二区不卡| 久久精品国产精品亚洲毛片| 无码人妻精品一区二区三区久久久| 亚洲精品永久在线观看| 日韩精品人成在线播放| 久久久久人妻一区精品| 久久99精品久久久久久水蜜桃| 国产精品一区二区久久精品无码| 88国产精品欧美一区二区三区| 在线精品国产一区二区| 99热这里只有精品国产66| 青青青青久久精品国产| 免费精品一区二区三区第35| 久久精品国产99国产电影网| 久久国产成人精品麻豆| 久久精品国产久精国产| 久久福利青草精品资源站| 亚洲精品性视频| 国产精品亚洲欧美大片在线看| 精品久久综合1区2区3区激情| 久久久精品日本一区二区三区 | 四虎国产精品永久地址49| 午夜精品视频在线观看|