Node项目中怎么用images+imageinfo库给图片批量添加水印
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍Node项目中怎么用images+imageinfo库给图片批量添加水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Nodejs给图片批量添加水印环境准备安装
千家信息网最后更新 2024年12月12日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库给图片批量添加水印"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
文件
图片
水印
位置
文件夹
模块
项目
代码
内容
前缀
名字
目录
篇文章
路径
运行
价值
信息
兴趣
命令
坐标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
测温软件开发方法
dell服务器常用系列
安全领域 主机加固服务器
联想sr258服务器配置
epic什么服务器可以领游戏
广州五六成网络技术有限公司
融e联服务器安全证书验证失败
自己安装服务器需要什么手续
软件开发内部签订的协议模板
农发行网络安全活动
亚信开源数据库
应急管理系统用什么软件开发
招聘软件开发
自学4g网络技术
河北人工智能软件开发定制费用
数据库系统两层映像功能的关系
网络安全解决核心问题
关于网络安全的短语50字
虎眼科技软件开发制作
mysql数据库保存视频
无法解析服务器的dns怎么办
德州健全完善网络安全
创优网络技术服务公司
网吧服务器优化
网络安全宣传周作品展
山西太原dns服务器云服务器
上海新治网络技术有限公司
电脑用户网络安全账户在哪里
鼓楼区辅助软件开发
网络安全相关知识内容