• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > Node项目中用images+imageinfo库给图片批量添加水印

Node项目中用images+imageinfo库给图片批量添加水印

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了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库给图片批量添加水印


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Node项目中用images+imageinfo库给图片批量添加水印

相关文章

  • 2022-04-29PS鼠绘清纯可爱的古装卡通小女孩
  • 2022-04-29DEDECMS的优化方案
  • 2022-04-29搜索引擎优化10大黄金法则
  • 2022-04-29浅谈小程序中实现图片下载功能的方法
  • 2022-04-29为什么不建议使用@import引入css
  • 2022-04-29一文带你PHP利用phpmailer实现邮件发送功能
  • 2022-04-29解决TP获取微信用户信息出现10003错误问题
  • 2022-04-29设计师应该从四个方面优化网站
  • 2022-04-29帝国CMS实现tagid伪静态tag的方法
  • 2022-04-29Photoshop详细绘制金属质感的企业标志

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 微信小程序自定义菜单导航实现楼梯效果
    • Photoshop鼠绘杯子教程
    • html5的drag和drop的用法示例
    • 如何撰写良好的描述标签 description tag?
    • 20款wordpress的SEO插件
    • Discuz搭建的论坛如何修改后台地址?
    • PS简单制作碎花布上的拼贴瓷砖文字效果教程
    • Photoshop技巧教程:解读13条PS高级使用技巧
    • mysql数据库数据字典生成代码
    • 在centos下kanglephp怎么安装swoole扩展

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有