jQuery 生成svg矢量二维码


Posted in Javascript onAugust 09, 2016

jQuery 生成矢量svg二维码,并提供PNG,和SVG的页面下载,减轻服务端的压力。

代码如下所示:

<html> 
<head> 
<title>jQuery 生成svg矢量二维码</title> 
</head> 
<body> 
<script type='text/javascript' src='http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js'></script>
<script type="text/javascript" src="http://cdn.staticfile.org/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
<script type='text/javascript' src='raphael.js'></script>
<script type='text/javascript' src='qrcodesvg.js'></script>
<p>二维码信息:201211070014</p> 
<div id="qrcodeTable"></div> 
<p>二维码信息:gerrard</p> 
<div id="qrcodeCanvas"></div> 
<p>二维码信息:test</p> 
<div id="svg-wrap" class="svg-wrap"></div> 
<br>
<a id="a" href="javascript:saveAsPng()">下载PNG</a> 
<a id="a" href="javascript:saveAsSvg()">下载SVG</a>
<script> 
var qrcodesvg = new Qrcodesvg("http://www.baidu.com", "svg-wrap", 250);
qrcodesvg.draw();
// qrcodesvg.createSquare();
/* //jQuery('#qrcode').qrcode("this plugin is great"); 
jQuery('#qrcodeTable').qrcode({ 
render : "table", 
text : "201211070014" //根据此串生成第一个二维码 
}); 
jQuery('#qrcodeCanvas').qrcode({ 
render : "canvas", 
text : "http://www.csdn.net" //根据此串生成第二个二维码 
}); 
*/
// 下载png图片
function saveAsPng () {
var svgXml = $('.svg-wrap').html();
var image = new Image();
image.src = 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(svgXml))); //给图片对象写入base64编码的svg流
// 把svg格式转换成canvas格式
var canvas = document.createElement('canvas'); //准备空画布
canvas.width = $('.svg-wrap svg').width();
canvas.height = $('.svg-wrap svg').height();
var context = canvas.getContext('2d'); //取得画布的2d绘图上下文
context.drawImage(image, 0, 0);
var a = document.createElement('a');
a.href = canvas.toDataURL('image/png'); //将画布内的信息导出为png图片数据
a.download = mathRand(); //设定下载名称
a.click(); //点击触发下载 
}
// 下载svg图片
function saveAsSvg () {
var svgXml = $('.svg-wrap').html();
var image = new Image();
image.src = 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(svgXml))); //给图片对象写入base64编码的svg流
var a = document.createElement('a');
a.href = image.src; //直接导出SVG
a.download = mathRand(); //设定下载名称
a.click(); //点击触发下载 
}
// 随机生成数字
function mathRand() { 
var num = ""; 
for(var i = 0 ; i < 6 ; i ++) { 
num+=Math.floor(Math.random()*10); 
} 
return num ;
}
</script> 
</body> 
</html>

以上所述是小编给大家介绍的jQuery 生成svg矢量二维码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
Mar 03 Javascript
10分钟掌握XML、JSON及其解析
Dec 06 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
使用ES6语法重构React代码详解
May 09 Javascript
vue-scroller记录滚动位置的示例代码
Jan 17 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
layer弹出层全屏及关闭方法
Aug 17 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
js实现直播点击飘心效果
Aug 19 Javascript
React倒计时功能实现代码——解耦通用
Sep 18 Javascript
keep-alive保持组件状态的方法
Dec 02 Javascript
浅谈JavaScript中变量和函数声明的提升
Aug 09 #Javascript
浅谈js基本数据类型和typeof
Aug 09 #Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 #Javascript
详解js实现线段交点的三种算法
Aug 09 #Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
Aug 09 #Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
Aug 09 #Javascript
引用jquery框架后出错的解决方法
Aug 09 #Javascript
You might like
PHP截取中文字符串的问题
2006/07/12 PHP
深入php多态的实现详解
2013/06/09 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
PHP中set error handler函数用法小结
2015/11/11 PHP
php经典算法集锦
2015/11/14 PHP
总结一些js自定义的函数
2006/08/05 Javascript
FCK调用方法..
2006/12/21 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
js实现动态改变radio状态的方法
2018/02/28 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
python 从csv读数据到mysql的实例
2018/06/21 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
公益活动策划方案
2014/01/09 职场文书
端午节活动策划方案
2014/03/09 职场文书
对孩子的寄语
2014/04/09 职场文书
律师授权委托书范本
2014/10/07 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
2019大学生实习报告
2019/06/21 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript
python解析照片拍摄时间进行图片整理
2022/07/23 Python