问题:最近在做一个用canvas实现签名得效果,遇到一个小坑,创建画布得时候,设置了默认得背景色#fff;签名成功之后,点击“重写”,也就是清除画布之后会发现设置得白色背景色又变成了透明的,但是线条粗细,颜色这些参数却不会发生改变
解决办法:在清除画布的方法里,清除画布之后,重新画一个背景
//重新画一个背景
this.cxt.fillRect(0, 0, this.canvas.width, this.canvas.height)
//清除画布
this.clearEl.addEventListener(
'click',
function () {
this.cxt.clearRect(
0,
0,
this.canvas.width,
this.canvas.height
)
//重新画一个背景
this.cxt.fillRect(0, 0, this.canvas.width, this.canvas.height)
}.bind(this),
false
)