转载:在微信小程序中 生成二维码

目录

转载:

weapp-qrcode-canvas-2d

仓库地址

测试环境

使用

安装方法1:直接引入 js 文件

安装方法2:npm安装

安装完成后调用

例子1:没有使用叠加图片

例子2:使用叠加图片(在二维码中加logo)

这里是API

drawQrcode([options])


转载:

weapp-qrcode-canvas-2d在微信小程序中生成二维码,新版canvas-2d接口 | 微信开放社区

weapp-qrcode-canvas-2d

weapp-qrcode-canvas-2d 是使用新版canvas-2d接口在微信小程序中生成二维码(外部二维码)的js包。canvas 2d 接口支持同层渲染且性能更佳,建议切换使用,可大幅提升生成图片的速度。

仓库地址

  • 测试环境

  • 微信小程序基础库版本:2.10.4
  • 开发者工具版本:Stable 1.03.2101150

使用

先在 wxml 文件中,创建绘制的 canvas,并定义好 widthheightid , type ,其中type的值必须为2d

<canvas type="2d" style="width: 260px; height: 260px;" id="myQrcode"></canvas>

安装方法1:直接引入 js 文件

直接引入 js 文件,使用 drawQrcode() 绘制二维码

// 将 dist 目录下,weapp.qrcode.esm.js 复制到项目中。路径根据实际引用的页面路径自行改变


import drawQrcode from '../../utils/weapp.qrcode.esm.js'

安装方法2:npm安装

npm install weapp-qrcode-canvas-2d --save

在文件中引入

import drawQrcode from 'weapp-qrcode-canvas-2d'

安装完成后调用

例子1:没有使用叠加图片
const query = wx.createSelectorQuery()

query.select('#myQrcode')

.fields({

node: true,

size: true

})

.exec((res) => {

var canvas = res[0].node


// 调用方法drawQrcode生成二维码

drawQrcode({

canvas: canvas,

canvasId: 'myQrcode',

width: 260,

padding: 30,

background: '#ffffff',

foreground: '#000000',

text: '大王顶真帅',

})


// 获取临时路径(得到之后,想干嘛就干嘛了)

wx.canvasToTempFilePath({

canvasId: 'myQrcode',

canvas: canvas,

x: 0,

y: 0,

width: 260,

height: 260,

destWidth: 260,

destHeight: 260,

success(res) {

console.log('二维码临时路径:', res.tempFilePath)

},

fail(res) {

console.error(res)

}

})

})
例子2:使用叠加图片(在二维码中加logo)
const query = wx.createSelectorQuery()


query.select('#myQrcode')

.fields({

node: true,

size: true

})

.exec(async (res) => {

var canvas = res[0].node


var img = canvas.createImage();

img.src = "/image/logo.png"


img.onload = function () {

// img.onload完成后才能调用 drawQrcode方法


var options = {

canvas: canvas,

canvasId: 'myQrcode',

width: 260,

padding: 30,

paddingColor: '#fff',

background: '#fff',

foreground: '#000000',

text: 'https://gitee.com/WeiDoctor/weapp-qrcode-canvas-2d',

image: {

imageResource: img,

width: 80, // 建议不要设置过大,以免影响扫码

height: 80 // 建议不要设置过大,以免影响扫码

round: true // Logo图片是否为圆形

}

}


drawQrcode(options)


// 获取临时路径(得到之后,想干嘛就干嘛了)

wx.canvasToTempFilePath({

x: 0,

y: 0,

width: 260,

height: 260,

destWidth: 600,

destHeight: 600,

canvasId: 'myQrcode',

canvas: canvas,

success(res) {

console.log('二维码临时路径为:', res.tempFilePath)

},

fail(res) {

console.error(res)

}

})


};

})

这里是API

drawQrcode([options])

Type: Object

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值