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 相关文章推荐
刷新页面实现方式总结(HTML,ASP,JS)
Nov 13 Javascript
浅谈Javascript嵌套函数及闭包
Nov 09 Javascript
jQuery的初始化与对象构建之浅析
Apr 12 Javascript
25个非常棒的jQuery滑块插件和教程小结
Sep 02 Javascript
使用jquery实现IE下按backspace相当于返回操作
Mar 18 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
浅谈js原生拖放
Nov 21 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
Dec 14 Javascript
让你彻底掌握es6 Promise的八段代码
Jul 26 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
了解前端理论:rscss和rsjs
May 23 Javascript
如何理解Vue简单状态管理之store模式
May 15 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/10/09 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
浅析Python中return和finally共同挖的坑
2017/08/18 Python
pywinauto自动化操作记事本
2019/08/26 Python
python下载库的步骤方法
2019/10/12 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
幼儿园校车司机的岗位职责
2014/01/30 职场文书
大学新生军训感言
2014/02/25 职场文书
员工工作表现评语
2014/04/26 职场文书
建筑安全生产责任书
2014/07/22 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
Java Redisson多策略注解限流
2022/09/23 Java/Android