一、准备工作:

首先,确保你本地已经安装好了node环境。
然后,我们进行图像编辑操作需要用到一个Node.js的库:
images。
这个库的地址是:https://github.com/zhangyuanwei/node-images,作者定义它为 “Node.js轻量级跨平台图像编解码库” ,并提供了一系列接口。
我们要做的首先是安装images库:

npm install images

二、直接上DEMO:

步骤如下:
step1:文件夹结构

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命令

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

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

转载于:https://www.cnblogs.com/saywa3b/p/6065932.html

用node.js给图片加水印相关推荐

  1. html 图片加水印,js给图片加水印的两种方法

    第一种(较复杂) 根据图片路径获取图片数据,转成blob类型 用FileReader读取图片blob数据为dataURL 创建img标签,src属性为dataURL 监听img.onload, 创建c ...

  2. node 图片加水印

    1单张图片加水印 使用Node进行图片水印添加,需要借助一个Node中的库: images 1 本地安装images库 npm install images -D 2 创建Img.js var ima ...

  3. js:用canvas给图片加水印,签名等

    场景 实际工作中,我们会遇到给图片加水印的效果,比如给用户颁发电子证书要在证书上写下证书的名字,我们可以使用h5的canvas来解决这个问题. 解决 例子:给证书上显示用户名字并下载 // @para ...

  4. golang实现给图片加水印

    2019独角兽企业重金招聘Python工程师标准>>> 最近跟在写golang图片加水印的方法,这里用的是一些基本的功能. package mainimport ("fmt ...

  5. Node.js中模块加载机制

    Node.js中模块加载机制 模块查找规则-当模块拥有路径但没有后缀时 1. require方法根据模块路径查找模块,如果是完整路径,直接引入模块. 2. 如果模块后缀省略,先找同名JS文件再找同名J ...

  6. php加水印功能,PHP图片加水印功能

    本篇文章主要介绍PHP图片加水印功能,感兴趣的朋友参考下,希望对大家有所帮助. 实例代码如下:<?php /** * 功能:给一张图片加上水印效果 * $i 要加水印效果的图片 * $t 水印文 ...

  7. Java图片处理(二)图片加水印

    图片加水印,是通过图片重叠绘制实现的.实现代码如下: public static void press(String pressImg, String pressText, String target ...

  8. C# 图片加水印例程

    using System; using System.IO; using System.Collections; using System.Drawing; using System.Drawing. ...

  9. Python脚本实现图片加水印

    起步 图片是指由图形.图像等构成的平面媒体,有形式的事物,我们看到的,是图画.照片.拓片等的统称. 为了保护一些原创图片的版权,某些时候我们需要在图片上面,加上水印,当然你可以用Photoshop来做 ...

最新文章

  1. Linux 0.00 的编译和运行
  2. 又为写作思路熬到秃头?这16篇最新论文打包送你
  3. java索引序列_视图、序列、索引
  4. ivx中字体显示_iVX云服务费用优化 · 上篇
  5. CANopen | 对象字典OD 03 - 启动CANopen节点的服务数据对象SDO
  6. python switch高效替代_Python中用什么代替switch
  7. python 字符串替换换行,Python fstring:替换换行符/lineb
  8. Google 又又又要“重回中国”了?
  9. org manual翻译--3.6 Org-Plot
  10. c++ vector随机排序
  11. 数学建模之matlab入门篇
  12. Leetcode题解助手
  13. 云上Java System Profiling与Debugging——蚂蚁金服观察与实践
  14. linux查看硬盘插槽_SSD小讲堂丨自己动手丰衣足食 手把手教你安装M.2固态硬盘
  15. java 模块解耦_微服务架构:如何用十步解耦你的系统?
  16. 基于android的外卖在线订餐系统app
  17. 问卷调查抽奖系统开发
  18. “共享经济”何以真“共享”——区块链技术赋能共享出行
  19. 【智能优化算法】基于粒子群结合NSGA2算法求解多目标优化问题附Matlab代码
  20. java/php/net/python 网络考试系统设计

热门文章

  1. 区块链入门与去中心化应用实战 之一 第3章 区块链技术核心原理实现
  2. JVM调优思路、订单秒杀jvm调优案例
  3. 实战:Docker容器虚拟化技术(使用DockerFile构建镜像并搭建 swarm+compose集群)5
  4. 分布式理论-BASE理论
  5. centos6.5 安装 OpenResty
  6. 一文透析 Spring Boot、微服务架构和大数据治理三者之间的故事
  7. Java程序猿面试体会,还没找到工作的“猿猿们”看过来!
  8. Python操作文件文档
  9. 实用的网站***步骤
  10. 4个数字,如何最快找到最小的2个数