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 切换不同图片示例代码
Dec 05 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
微信小程序 教程之注册程序
Oct 17 Javascript
解析微信JS-SDK配置授权,实现分享接口
Dec 09 Javascript
vue监听滚动事件实现滚动监听
Apr 11 Javascript
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
关于JavaScript中的this指向问题总结篇
Jul 23 Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 Javascript
vue缓存之keep-alive的理解和应用详解
Nov 02 Javascript
对vue生命周期的深入理解
Dec 03 Vue.js
浅谈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/12/25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
详解php命令注入攻击
2019/04/06 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
python利用7z批量解压rar的实现
2019/08/07 Python
python通过实例讲解反射机制
2019/10/17 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
应届生幼儿园求职信
2013/11/12 职场文书
婚前协议书怎么写
2014/04/15 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
2014教师研修学习体会
2014/07/08 职场文书
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python