需求:要實現一個可以通過拖拽改變大小的方框,在方框內按一定距離畫上橫線,效果如圖所示
實現:在拖動改變方框大小的時候,計算方框的高度,並按照要求畫上橫線
遇到的問題和解決方法:
1、在最開始實現的方案中,通過style去改變canvas大小,但是這種方式實際是將canvas拉伸,因此橫線的粗細會發生變化。通過canvas的height和width屬性設置大小即可解決
2、拖動過程中白線會一直閃爍。這是因為設置了canvas的height和width屬性值,導致canvas大小發生了變化,從而在重新渲染時清空了畫布上的內容,因此橫線處於不停擦除和重畫的過程,表現為閃爍。
解決方法是將繪制橫線放在onUpdated中去完成,這樣在dom渲染階段就將內容放在畫布上,實際就是讓擦除和重畫基本處於同時完成,這樣就看不出來閃爍了。