背景:vue中使用二维码插件vue-qr中间配置logo图片的时候,发现中间图片比较模糊,并且模糊程度和二维码所配置的字符串的长短也有关系,查找源码,发现确实存在这个问题,并且还没有相应的配置
解决办法:用一个和中心配置的logo图片大小一样的图片定位到二维码中心
代码如下
<div @click="codeContain" class="sess-center-two" style="position: relative" :style="{filter: cssFilter}"
v-show="baseUrl !== ''">
<vue-qr :correctLevel="1" :logoScale="0.2" :logoSrc="require('@/assets/images/code/ctlogo.jpg')"
:colorDark="codeColor" :text="baseUrl" :size="260"></vue-qr>
<div v-show="baseUrl!='11111111111111'" style="position: absolute; top: 105px; left: calc(50% - 25px)">
<img src="../assets/images/code/ctlogo2.jpg" alt="" width="50"/>
</div>
</div>
并且可以配置二维码数据返回之前实现模糊的效果使用上面代码中filter属性
在data中定义如下
data() {
return {
cssFilter: 'blur(8px)'
}
}
在请求接口前设置为
this.cssFilter = 'blur(0px)';
请求到二维码数据之后设置为:
this.cssFilter = 'blur(0px)';