使用Node.js给图片加水印的方法


Posted in Javascript onNovember 15, 2016

一、准备工作:

首先,确保你本地已经安装好了node环境。

然后,我们进行图像编辑操作需要用到一个Node.js的库:images。

这个库的地址是:https://github.com/zhangyuanwei/node-images,作者定义它为 “Node.js轻量级跨平台图像编解码库” ,并提供了一系列接口。

我们要做的首先是安装images库:

npm install images

二、直接上DEMO:

步骤如下:

step1:文件夹结构

使用Node.js给图片加水印的方法

step2:JS代码

var images = require('images');
var path = require('path');
var watermarkImg = images('water_logo.png');
var sourceImg = images('source.png');
// 比如放置在右下角,先获取原图的尺寸和水印图片尺寸
var sWidth = sourceImg.width();
var sHeight = sourceImg.height();
var wmWidth = watermarkImg.width();
var wmHeight = watermarkImg.height();
images(sourceImg)
// 设置绘制的坐标位置,右下角距离 40px
.draw(watermarkImg, sWidth - wmWidth - 40, sHeight - wmHeight - 40)
// 保存格式会自动识别
.save('saveimg.png');

step3:运行node app命令

使用Node.js给图片加水印的方法

step4:运行node命令后,文件夹结构如下图

使用Node.js给图片加水印的方法

step5:最终生成的加水印图片

使用Node.js给图片加水印的方法

以上所述是小编给大家介绍的使用Node.js给图片加水印的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
尽可能写"友好"的"Javascript"代码
Jan 09 Javascript
javascript 事件查询综合 推荐收藏
Mar 10 Javascript
再谈javascript面向对象编程
Mar 18 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
浅析JS中常用类型转换及运算符表达式
Jul 23 Javascript
import与export在node.js中的使用详解
Sep 28 Javascript
Vue header组件开发详解
Jan 26 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
在vue项目中,将juery设置为全局变量的方法
Sep 25 Javascript
javascript面向对象创建对象的方式小结
Jul 29 Javascript
Node.js批量给图片加水印的方法
Nov 15 #Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
Nov 15 #Javascript
AngularJS extend用法详解及实例代码
Nov 15 #Javascript
Windows系统下安装Node.js的步骤图文详解
Nov 15 #Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 #Javascript
javascript实现消灭星星小游戏简单版
Nov 15 #Javascript
js滚轮事件兼容性问题需要注意哪些
Nov 15 #Javascript
You might like
ThinkPHP php 框架学习笔记
2009/10/30 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
php实现的双向队列类实例
2014/09/24 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
浅析return false的正确使用
2013/11/04 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
layUI实现前端分页和后端分页
2019/07/27 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
在Python 中实现图片加框和加字的方法
2019/01/26 Python
简单了解python关系(比较)运算符
2019/07/08 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
Tostadora意大利:定制T恤
2019/04/08 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
感恩节红领巾广播稿
2014/02/11 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
研讨会通知
2015/04/27 职场文书
python实现双向链表原理
2022/05/25 Python
Python数组变形的几种实现方法
2022/05/30 Python