1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <title>利用 qrcode 在图片生成二维码</title> <style> * { margin: 0; padding: 0; }
#app { width: 100%; max-width: 7.5rem; margin: 0 auto; }
#Original, #Qr { display: none; }
#Poster { display: block; width: 100%; } </style> <script> !(function (doc, win) { var docEl = document.documentElement, resizeEvt = "orientationchange" in window ? "orientationchange" : "resize", recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; if (clientWidth >= 750) { docEl.style.fontSize = "100px"; } else { docEl.style.fontSize = 100 * (clientWidth / 750) + "px"; } };
if (!doc.addEventListener) return; window.addEventListener(resizeEvt, recalc, false); document.addEventListener("DOMContentLoaded", recalc, false); })(document, window); </script> </head>
<body> <div id="app"> <canvas id="Original"></canvas> <canvas id="Qr"></canvas> <img id="Poster" data-src="http"> </div> <script src="./qrcode.min.js"></script> <script> let img = new Image(); img.src = './shenxianjiejie.jpg'; img.onload = function () { let original = document.getElementById('Original'); let context = original.getContext('2d'); context.save(); original.setAttribute('width', this.width); original.setAttribute('height', this.height); context.drawImage(this, 0, 0, this.width, this.height); context.restore(); let qr = document.getElementById('Qr'); let qrContent = '这里是文字,可以是链接'; QRCode.toCanvas(qr, qrContent, (error) => { if (error) { console.error(error) } let image = new Image(); image.src = qr.toDataURL('image?png'); image.onload = function () { context.save(); context.drawImage(this, 40, 40, 200, 200); context.restore(); let poster = document.getElementById('Poster') poster.setAttribute('src', original.toDataURL('image/png')); } }) } </script> </body>
</html>
|