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控制frame,iframe的src属性代码
Dec 31 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
Jul 06 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
Web表单提交之disabled问题js解决方法
Jan 13 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
AngularJS 与百度地图的结合实例
Oct 20 Javascript
Javascript计算二维数组重复值示例代码
Dec 18 Javascript
backbone简介_动力节点Java学院整理
Jul 14 Javascript
JavaScript中使用Async实现异步控制
Aug 15 Javascript
Electron-vue脚手架改造vue项目的方法
Oct 22 Javascript
Vue如何实现变量表达式选择器
Feb 18 Vue.js
AJAX学习笔记
May 18 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批量生成缩略图的代码
2008/07/19 PHP
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
python学生信息管理系统(完整版)
2020/04/05 Python
一看就懂得Python的math模块
2018/10/21 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
python selenium firefox使用详解
2019/02/26 Python
python实现名片管理器的示例代码
2019/12/17 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
详解Python中import机制
2020/09/11 Python
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
两道JAVA笔试题
2016/09/14 面试题
汽车专业毕业生自荐信
2013/11/03 职场文书
员工趣味活动方案
2014/08/27 职场文书
开除通知书范本
2015/04/25 职场文书
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang