专注于知识
经验、资源的分享

html5+jquery.qrcode前端生成二维码海报

最近在做一个系统,需要生成动态二维码海报,因为之前没有做过,在网上搜罗了很长时间,终于找到了一个差不多的,今天分享给大家,希望对大家有所帮助。

废话不多说直接上代码

需要使用的JS插件

<script src="js/jquery-2.1.1.min.js"></script>
<script src="js/jquery.qrcode.min.js"></script>

Html代码

<div>
<div id="qrcode"></div>
<div id="h">
<canvas id="myCanvas"></canvas>
</div>
</div>

<script>
$(function(){
var url= "http://www.baidu.com"
//默认使用Canvas生成,并显示到图片
jQuery('#qrcode').qrcode({
render: "canvas",
width:90, //设置宽度
height:100, //设置高度
foreground: "#C00",//前景颜色
background: "#FFF",//背景颜色
typeNumber : -1,//计算模式
correctLevel:1,//纠错等级1-3
text: url
});
//从 canvas 提取图片 image
function convertCanvasToImage(canvas) {
//新Image对象,可以理解为DOM
var image = new Image();
// canvas.toDataURL 返回的是一串Base64编码的URL,当然,浏览器自己肯定支持
// 指定格式 PNG
image.src = canvas.toDataURL("image/png");
return image;
}

var mycanvas1=document.getElementsByTagName('canvas')[0]; //获取网页中的canvas对象
//将转换后的img标签插入到html中
var img=convertCanvasToImage(mycanvas1);
$('#qrcode').html("");//移除已生成的避免重复生成
$('#qrcode').append(img);//imagQrDiv表示你要插入的容器id
$('#qrcode img').attr("id","tulip");

var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
//图片
var img = new Image();
img.src = 'img/timg.jpg';
canvas.width = window.screen.availWidth;
canvas.height = window.screen.availHeight;
var ewm=document.getElementById("tulip");
img.crossOrigin="*";
img.onload = function() { //必须等待图片加载完成
ctx.drawImage(img, 0, 0, window.screen.availWidth, window.screen.availHeight); //绘制背景图
ctx.drawImage(ewm, window.screen.availWidth-110,window.screen.availHeight-120,90,100);//绘制二维码
var srcImg = new Image();
srcImg.src = canvas.toDataURL('images/png');
$('#h').html("");//移除已生成的避免重复生成
$('#h').append(srcImg);//imagQrDiv表示你要插入的容器id
$('#h img').attr("width",'100%');
$('#h img').attr("height",'100%');//imagQrDiv表示你要插入的容器id
$('#qrcode').hide();
}
});
</script>

示例下载

百度网盘

赞(2) 打赏
本文原创转载请注明出处:阿斌分享 » html5+jquery.qrcode前端生成二维码海报
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏