jQuery 生成svg矢量二維碼
jQuery 生成矢量svg二維碼,并提供PNG,和SVG的頁(yè)面下載,減輕服務(wù)端的壓力。
代碼如下所示:
<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" //根據(jù)此串生成第一個(gè)二維碼
});
jQuery('#qrcodeCanvas').qrcode({
render : "canvas",
text : "http://www.csdn.net" //根據(jù)此串生成第二個(gè)二維碼
});
*/
// 下載png圖片
function saveAsPng () {
var svgXml = $('.svg-wrap').html();
var image = new Image();
image.src = 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(svgXml))); //給圖片對(duì)象寫入base64編碼的svg流
// 把svg格式轉(zhuǎn)換成canvas格式
var canvas = document.createElement('canvas'); //準(zhǔn)備空畫布
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'); //將畫布內(nèi)的信息導(dǎo)出為png圖片數(shù)據(jù)
a.download = mathRand(); //設(shè)定下載名稱
a.click(); //點(diǎn)擊觸發(fā)下載
}
// 下載svg圖片
function saveAsSvg () {
var svgXml = $('.svg-wrap').html();
var image = new Image();
image.src = 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(svgXml))); //給圖片對(duì)象寫入base64編碼的svg流
var a = document.createElement('a');
a.href = image.src; //直接導(dǎo)出SVG
a.download = mathRand(); //設(shè)定下載名稱
a.click(); //點(diǎn)擊觸發(fā)下載
}
// 隨機(jī)生成數(shù)字
function mathRand() {
var num = "";
for(var i = 0 ; i < 6 ; i ++) {
num+=Math.floor(Math.random()*10);
}
return num ;
}
</script>
</body>
</html>
以上所述是小編給大家介紹的jQuery 生成svg矢量二維碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 基于jQuery和CSS3實(shí)現(xiàn)APPLE TV海報(bào)視差效果
- 利用jquery包將字符串生成二維碼圖片
- 利用jquery.qrcode在頁(yè)面上生成二維碼且支持中文
- 使用jquery組件qrcode生成二維碼及應(yīng)用指南
- 使用jquery.qrcode生成彩色二維碼實(shí)例
- javaScript生成支持中文帶logo的二維碼(jquery.qrcode.js)
- jquery插件qrcode在線生成二維碼
- 使用jQuery.Qrcode插件在客戶端動(dòng)態(tài)生成二維碼并添加自定義Logo
- jquery.qrcode在線生成二維碼使用示例
- jquery canvas生成帶有二維碼的海報(bào)
相關(guān)文章
uploadify 3.0 詳細(xì)使用說(shuō)明
uploadify 3.0 詳細(xì)使用說(shuō)明,需要的朋友可以參考下2012-06-06
jQuery插件slides實(shí)現(xiàn)無(wú)縫輪播圖特效
Slides – 是一個(gè)簡(jiǎn)單的,容易定制和風(fēng)格化,的jQuery幻燈片插件。Slides提供褪色或幻燈片過(guò)渡效果,圖像淡入淡出,圖像預(yù)壓,自動(dòng)生成分頁(yè),循環(huán),自動(dòng)播放的自定義等很多選項(xiàng)。用Slides插件,你可以隨機(jī)播放幻燈片,設(shè)定那一套您想要開(kāi)始幻燈片。2015-04-04
jquery動(dòng)態(tài)添加元素事件失效問(wèn)題解決方法
當(dāng)使用腳本動(dòng)態(tài)添加元素xxx時(shí),但事件失效,最后使用jquery中on方法解決腳本動(dòng)態(tài)添加元素,需要的朋友可以參考下2014-05-05
jquery通過(guò)visible來(lái)判斷標(biāo)簽是否顯示或隱藏
這篇文章主要介紹了jquery如何判斷標(biāo)簽是否顯示或隱藏,使用到了visible屬性,大家可以學(xué)習(xí)下2014-05-05
淺談jquery采用attr修改form表單enctype不起作用的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談jquery采用attr修改form表單enctype不起作用的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11

