代码如下,第一次加载不能加载出来,有时候二维码不能绘制在图片上。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="qrcode" style="display:none"></div>
<canvas id="myCanvas" ></canvas>
<script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://static.runoob.com/assets/qrcode/qrcode.min.js"></script>
<script type="text/javascript">
new QRCode(document.getElementById("qrcode"), {
text: "http://www.baidu.com",
width: 246,
height: 246,
typeNumber:4,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
}); // 设置要生成二维码的链接
var qrcodeImg = document.getElementById("qrcode").lastChild;
var bgImg = new Image();
bgImg.src="bg.png";
var canvas = document.getElementById("myCanvas");
canvas.width = bgImg.width;
canvas.height = bgImg.height;
var ctx = canvas.getContext("2d");
bgImg.crossOrigin = "*";
setTimeout(()=>{
bgImg.onload = function(){
ctx.drawImage(bgImg,0,0,bgImg.width,bgImg.height);
ctx.drawImage(qrcodeImg,65,180,qrcodeImg.width,qrcodeImg.height);
}
},10)
</script>
</body>
</html>
换了一个插件完美解决