修改参数:correctLevel: QRCode.CorrectLevel.H ,容错级别,由低到高分别为L M Q H4、字符串较长,二维码显示模糊怎么办?可以尝试先将生成的二维码倍数扩大,然后在css上面固定显示宽高,这样可以扩大显示像素精度.qrcode-wrap{width: 128px;height: 128px;}.qrcode-wrap canvas,.qrcode-wrap img {width:100%;height:100%;} <div id="qrcode" ref="qrcode" class="qrcode-wrap"></div> creatQrCode() { let text = '二维码内容'; let qrcode = new QRCode(this.$refs.qrcode, { text: text, width: 128 * 3, //宽扩大3倍 height: 128 * 3, //高扩大3倍 colorDark: '#000000', colorLight: '#ffffff', correctLevel: QRCode.CorrectLevel.H, })}5、二维码想要带白边怎么办?插件默认生成的图片是没有边框的如果只想在页面显示上有边框方案一:直接给容器上面加样式,利用padding的特性,挤出白边.qrcode-border{ display: flex; width: 128px; height: 128px; box-sizing: border-box; padding: 10px;/*利用padding*/ border: 1px solid rgb(204, 204, 204); }<div id="qrcode" ref="qrcode" class="qrcode-border"></div>方案二:给容器加一个带边框样式的父级容器 .qrcode-container{ display: flex; align-items: center; justify-content: center; width: 150px; height: 150px; border: 1px solid #cccccc; }<div class="qrcode-container"> <div id="qrcode" ref="qrcode"></div> </div>效果展示✅PS:如果只想【打印】的白边边框,这两种方案也可以QRCode.js 文档:http://code.ciaoca.com/javascript/qrcode/npm package 地址:https://www.npmjs.com/package/qrcodejs2github 地址:https://github.com/davidshimjs/qrcodejs如果想要页面和下载的二维码都带白边边框可以结合插件html2canvas来实现(如有其它方案,欢迎分享)html2canvas 是一款利用javascript进行屏幕截图的插件//安装cnpm install --save html2canvas//引入import html2canvas from "html2canvas";主要思路:先使用QRCode生成二维码图片然后使用html2canvas把带样式的二维码生成新的图片隐藏QRCode生成的二维码图片<div ref="canvas" class="canvas-box" :style="{display:(originImg===true?'none':'flex')}"> <div class="qrcode-box"> <div ref="qrcode" class="qrcode-img"></div> </div> <div class="qrcode-text"> 扫一扫 </div></div><img :src="imgUrl">最终效果html2canvas 文档地址:http://html2canvas.hertzen.com/documentationgithub 地址:https://github.com/niklasvh/html2canvas前端插件JsBarcode生成条形码安装和引入//安装cnpm install jsbarcode --save//引入import JsBarcode from 'jsbarcode'页面容器<template> <!-- 条形码容器,可选svg、canvas,或img标签 --> <svg id="barcode"></svg> <!-- or --> <canvas id="barcode"></canvas> <!-- or --> <img id="barcode"/></template实例化不要在DOM还未加载时,调用jsbarcode库,比如create生命周期简版 JsBarcode('#barcode', 12345678, { displayValue: true // 是否在条形码下方显示文字 } )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)