前端网页移动端H5签名canvas原生实现,移动端签名实践,适用于vue.js react 等任何框架

第一部分代码
创建canvas,捕获标签的touch事件,记录坐标,然后使用canvas画线
最后使用toDataURL转为base64的图片

let c = document.getElementById("canvas")
let canvas = document.createElement("canvas")
let availHeight = document.documentElement.clientHeight
let off = availHeight - 400
canvas.height = '350'
canvas.width = c.clientWidth
c.appendChild(canvas)
let dr = canvas.getContext('2d')
dr.strokeStyle = 'blue'
canvas.addEventListener('touchstart',(e)=>{
  dr.beginPath()
  dr.moveTo(e.changedTouches["0"].pageX,e.changedTouches["0"].pageY-off)
})
canvas.addEventListener('touchmove',(e)=>{
  dr.lineTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY-off)
  dr.stroke()
})
canvas.addEventListener('touchend',(e)=>{
  dr.closePath()
})

生成图片

let img = document.querySelector('canvas').toDataURL()

如需发送给后端,可以让后端支持base64或者blob、buffer

你可能感兴趣的:(html,html5,移动端开发,前端,canvas)