关联文字和二维码生成 png 图片
当在二维码中添加文字时,文字信息可能会被二维码遮挡。同时,调整文字与二维码的距离时,超过二维码范围又会导致文字无法显示。
解决方案
- 使用 html2canvas 插件:该插件可将 html 内容转换为图片。
- 拆分二维码和文字:将生成的二维码和文本内容拆分,并放置在 html 中。
- 使用 html2canvas 生成新图片:使用 html2canvas 将拆分的 html 内容重新生成一个新的图片,保存为 png 格式。
示例代码:
立即学习“前端免费学习笔记(深入)”;
<div id="qr-container"> <div id="qrcode"></div> <div id="text">文本说明</div> </div>
// 生成二维码 var qrcode = new QRCode("qrcode", { text: "二维码内容", width: 256, height: 256, }); // 拆分 QR 码和文本 var myContainer = document.getElementById("qr-container"); // 转换 HTML 为图片 html2canvas(myContainer).then(function(canvas) { var imageData = canvas.toDataURL("image/png"); saveAs(imageData, "qrcode-with-text.png"); });
使用这个方法,你可以将文字说明和二维码一起保存为一个 png 图片,同时避免文字遮挡或距离过远的问题。