前言 : 使用canvas来实现手写签名的功能
1.准备一张画布
<div class="signature-wrap" >
<canvas class="canvas" ref="signCanvas" />
<div class="btn-wrap">
<van-button type="info" block @click="save">提 交</van-button>
<van-button type="default" @click="rewrite" block>重 写</van-button>
</div>
</div>
2.利用JS设置画布的尺寸充满整个屏幕
mounted() {
this.init()
const canvas = this.$refs.signCanvas
canvas.width = window.innerWidth
canvas.height = window.innerHeight - 64
window.onresize = () => {
canvas.width = window.innerWidth
canvas.height = window.innerHeight - 64
}
},
3.设置绘画函数painting ,isSignature用来判断canvas是否有签名
data() {
return {
painting: (beginX, beginY, stopX, stopY, ctx) => {
ctx.beginPath()
ctx.globalAlpha = 1
ctx.lineWidth = 3
ctx.strokeStyle = 'red'