nodejs根据地址生成二维码并当做水印嵌入图片中
来源:互联网 发布:淘宝客服昵称怎么改 编辑:程序博客网 时间:2024/04/30 12:44
--所需模块
异步流程控制模块 async 基本使用 : http://blog.csdn.net/zzwwjjdj1/article/details/51857959
生成二维码模块 qr-image
处理图片模块 images
安装模块 npm install async qr-image images
--封装方法
1.生成二维码方法
2.嵌入水印方法
utlis.js
var utils = {};var fs = require('fs');var qr = require('qr-image');var images = require("images");/** * 根据地址生成二维码 * 参数 url(string) 地址 * 参数 callback(Function) */utils.createQr = function(url, callback){ var qr_png = qr.image(url, { type: 'png',size : 6 }); var imgName = +(new Date())+''+Math.ceil(Math.random()*89+10); imgName = `${imgName}.png`; var qr_pipe = qr_png.pipe(fs.createWriteStream(imgName)); qr_pipe.on('error', function(err){ console.log(err); callback(err,null); return; }) qr_pipe.on('finish', function(){ callback(null,imgName); })};/** * 给图片添加水印 * 参数 sourceImg(string) 原图片路径 * 参数 waterImg(string) 水印图片路径 * 参数 callback(Function) */utils.addWater = function(sourceImg, waterImg, callback){ var lastput = "2.jpg"; images(sourceImg) //Load image from file //加载图像文件 .size(400) //Geometric scaling the image to 400 pixels width //等比缩放图像到400像素宽 .draw(images(waterImg), 70, 260) //Drawn logo at coordinates (70,260)//为了遮住不该看的东西.. //在(10,10)处绘制Logo .save(lastput, { //Save the image to a file,whih quality 50 quality : 50 //保存图片到文件,图片质量为50 }); callback(lastput);};module.exports = utils;
--测试代码
test.js
var utils = require('./utils');var async = require('async');var task1 = function(callback){ var url = 'http://www.baidu.com'; utils.createQr(url,function(err, data){ if(err){ console.log(err); callback(err, null); return; } callback(null,data); })};var task2 = function(waterImg, callback){ //原图 var sourceImg = '1.jpg'; utils.addWater(sourceImg, waterImg, function(data){ callback(null, data); })};async.waterfall([task1,task2], function(err, result){ if(err){ console.log(err); return; } console.log(result);})
--运行
原图片 1.jpg
-----运行 node test
生成的二维码图片 147729475591626.png
最终生成的图片 2.jpg
哈哈,挡住了..,用手机扫一扫会跳转到百度.
最后今天是1024,程序员的节日,祝大家节日快乐!!
光顾着看妹子了..最后发下文件夹结构...
意外金喜的博客 : http://blog.csdn.net/zzwwjjdj1/
0 0
- nodejs根据地址生成二维码并当做水印嵌入图片中
- nodejs根据地址生成二维码并当做水印嵌入图片中
- 生成二维码嵌入图片中 (zxing)
- 使用Zxing生成二维码,并添加水印
- 如何在二维码中嵌入Logo图片
- 保存图片并生成水印和缩略图
- .net 生成二维码水印
- 生成二维码图片并保存图片功能
- asp.net中上传图片并生成小图片,自动添加水印的代码 .
- python中生成二维码图片
- Java中生成二维码图片
- 使用zxing生成二维码图片,并解析
- QRCode生成二维码并带有logo图片
- nodejs简单二维码生成
- nodejs生成二维码
- nodejs生成二维码
- 上传图片 并生成缩略图 并添加文字水印
- 根据图片地址生成ImageView对象
- Medium 254题 Factor Combinations
- LeetCode 213. House Robber II 题解
- redis - Java操作 用redisson 和 jedis 操作redis数据库
- Spark:聚类算法之LDA主题模型算法
- jms activeMQ发布与订阅入门实例
- nodejs根据地址生成二维码并当做水印嵌入图片中
- gcd 学习
- Histogram of Oriented Gridients(HOG) 方向梯度直方图
- 日志,重启和配置文件路径
- BAT脚本判断系统
- 做乘法
- 常见的shell指令
- 网页中集成百度商桥,自定义样式,可参照江苏美圣官网
- 手机充电原理分析及问题总结