使用vue、jQuery生成带有logo的二维码

有三种插件可以生成带有logo的二维码

第一种:vue_qrcodes

先在命令行输入下面代码安装插件

1 npm install vue_qrcodes

源码如下:

 1  1 <template> 
 2  2     <div> 
 3  3      <qrcode :url="data.url" :iconurl="data.logo" :wid="300" :hei="300" :imgwid="54" :imghei="54"></qrcode>
 4  4     </div>
 5  5 </template> 
 6  6 <script>
 7  7 import qrcode from 'vue_qrcodes'
 8  8 export default {
 9  9   name: 'qrcode',
10 10   components:{
11 11       qrcode
12 12   },
13 13   data(){
14 14     return{
15 15        data:{
16 16           url:"https://www.cnblogs.com/bushan/",
17 17          logo:"http://www.sceneray.com/images/index/logo.png",
18 18        }
19 19     }
20 20   }
21 21 }
22 22 </script>

在qrcode标签中还有两个参数:colorDark(二维码的颜色),colorLight(二维码的背景色)。

这种方式生成的二维码在下载二维码时会丢失logo。

第二种:qrcode-vue

先安装qrcode-vue

1 npm install qrcode-vue

代码:

<template>
  <div>
    <qrcode-vue 
      :size="size" 
      :value="qrUrl" 
      :logo="logo" 
      :bgColor="bgColor" 
      :fgColor="fgColor"
    ></qrcode-vue>
  </div>
</template>
<script>
  import qrcodeVue from 'qrcode-vue'
  export default {
    data () {
      return {
        size: 300,
        bgColor: '#fff',
        fgColor: '#000',
        qrUrl: 'https://www.cnblogs.com/bushan/',
        logo: require('@/assets/logo.png')
      }
    },
    components: {
      qrcodeVue
    }
  }
</script>
logo的地址很容易出错,像一些网页图片并不支持

第三种:基于jquery.qrcode.js插件
效果:

完整代码:
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6   <style>
 7     .qr-code {
 8       text-align: center;
 9       padding-top: 60px;
10     }
11   </style>
12 </head>
13 <body>
14     <div class="qr-code">
15       <div id="qrcode"></div>
16     </div>
17 
18 <script src="js/jquery.js"></script>
19 <script src="js/jquery.qrcode.js"></script>
20 <script src="js/utf.js"></script>
21 <script>
22   $(function () {
23     var qrUrl = "https://www.cnblogs.com/bushan/"
24     var logoUrl = 'https://pic.cnblogs.com/avatar/1387841/20190704162859.png';
25 
26     //生成二维码
27     $('#qrcode').qrcode({
28       render: "canvas",
29       text: qrUrl,
30       width: "250",               //二维码的宽度
31       height: "250",              //二维码的高度
32       background: "#ffffff",       //二维码的后景色
33       foreground: "#000000",        //二维码的前景色
34       src: logoUrl           //二维码中间的图片
35     });
36 
37   })
38 </script>
39 </body>
40 </html>

 

 

转载于:https://www.cnblogs.com/bushan/p/11077640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值