需求:要实现一个可以通过拖拽改变大小的方框,在方框内按一定距离画上横线,效果如图所示
实现:在拖动改变方框大小的时候,计算方框的高度,并按照要求画上横线
遇到的问题和解决方法:
1、在最开始实现的方案中,通过style去改变canvas大小,但是这种方式实际是将canvas拉伸,因此横线的粗细会发生变化。通过canvas的height和width属性设置大小即可解决
2、拖动过程中白线会一直闪烁。这是因为设置了canvas的height和width属性值,导致canvas大小发生了变化,从而在重新渲染时清空了画布上的内容,因此横线处于不停擦除和重画的过程,表现为闪烁。
解决方法是将绘制横线放在onUpdated中去完成,这样在dom渲染阶段就将内容放在画布上,实际就是让擦除和重画基本处于同时完成,这样就看不出来闪烁了。