canvas教程

如何生成svg矢量二维码,轻轻松松搞定!

字号+ 作者:H5之家 来源:H5之家 2017-03-23 14:00 我要评论( )

jQuery 生成矢量svg二维码,并提供PNG,和SVG的页面下载,减轻服务端的压力,轻轻松松搞定! 代码如下所示: htmlheadtitlejQuery生成svg矢量二维码/title/headbodyscripttype=text/javascriptsrc=/scriptscripttype=text/javascriptsrc=/scriptscripttype=t

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

代码如下所示:

<html>  <head>  <title>jQuery 生成svg矢量二维码</title>  </head>  <body>  <script type='text/javascript' src=''></script> <script type="text/javascript" src=""></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("", "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 : "" //根据此串生成第二个二维码  });  */ // 下载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>

大家试试看把!

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • canvas 如何在保留 background 的情况下重置画布

    canvas 如何在保留 background 的情况下重置画布

    2017-03-19 13:10

  • ACD Systems Canvas X16破解版【附安装教程】

    ACD Systems Canvas X16破解版【附安装教程】

    2017-03-18 16:17

  • 矢量图形控件Web版

    矢量图形控件Web版

    2017-03-11 18:02

  • canvas 有没有大神会createjs,求教如何学习使用createjs

    canvas 有没有大神会createjs,求教如何学习使用createjs

    2017-03-10 08:01

网友点评
<