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安全错误
数据库的锁怎样保障安全
acces数据库难学吗
贵州网络技术学院
广州新月互联网科技有限公司
安卓软件开发学哪些
db2如何查询数据库表状态
数据库表中外键关联多个列
数据库与程序设计基础哪个难
农民工网络安全知识培训
网络安全宣传微信推文
论文外审会不会查原始数据库
微擎怎么导入源码数据库
没办法恢复数据库实体
我对计算机网络技术专业的认识
网络安全职业发展及成长漫谈
网络安全宣传藏语展板
世界经济论坛数据库在哪找
网络安全自流井活动
郑州计算机网络安全
软件开发的目标是什么意思
网络安全防护密码
网络安全日宣传活动总结
国外画网络安全
各云服务器安全等级
我的世界服务器公会版
电力网络安全威努特
后端开发服务器server
数据库个案信息如何删除
实验室设备数据库
PS5吃鸡连接服务器失败
服务器的安全模式