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 相关文章推荐
jQuery 选择器理解
Mar 16 Javascript
Js参数值中含有单引号或双引号问题的解决方法
Nov 06 Javascript
javascript中的遍历for in 以及with的用法
Dec 22 Javascript
通过伪协议解决父页面与iframe页面通信的问题
Apr 05 Javascript
js判断登陆用户名及密码是否为空的简单实例
May 16 Javascript
javascript作用域、作用域链(菜鸟必看)
Jun 16 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
Jun 03 Javascript
bootstrap fileinput实现文件上传功能
Aug 23 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
Feb 22 Javascript
Vue中div contenteditable 的光标定位方法
Aug 25 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 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中数据类型转换的三种方式
2015/04/02 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
python检测lvs real server状态
2014/01/22 Python
Python实现多线程的两种方式分析
2018/08/29 Python
Python import与from import使用及区别介绍
2018/09/06 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
浅谈python常用程序算法
2019/03/22 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
python中的django是做什么的
2020/07/31 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
小学生自我鉴定
2013/10/12 职场文书
医药专业应届毕业生求职信范文
2014/01/01 职场文书
乔迁宴答谢词
2014/01/21 职场文书
民主评议党员工作总结
2014/10/20 职场文书
师德先进个人材料
2014/12/20 职场文书
花木兰观后感
2015/06/10 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server