在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ canvas鼠標(biāo)拖動在上面畫矩形框的問題

canvas鼠標(biāo)拖動在上面畫矩形框的問題

我想讓鼠標(biāo)拖動實時顯示矩形框的大小變化,利用onmousedown、onmousemove、onmouseup這三個事件來做。

請問在onmousemove里怎么處理才不會出現(xiàn)鼠標(biāo)在拖動的時候把上一次矩形框也顯示出來
document.onmousemove=function(e) {

ctx.strokeRect(參數(shù)...);

}
如果是這么寫的話,鼠標(biāo)一拖動就會顯示很多框框。要是是用清除功能的話,就會把之前畫好的也給清除掉了

回答
編輯回答
疚幼

兩個畫布就是樓上說的.
一個畫布,你就把鼠標(biāo)抬起時那個好好的存到一個數(shù)組里,每次鼠標(biāo)事件之前把那個數(shù)組里的遍歷畫一次.

2018年8月23日 14:09
編輯回答
別逞強(qiáng)

目前我想到了兩種方法:

  1. 對于之前繪制好的圖像,進(jìn)行坐標(biāo)的存儲。每次繪制之前,將畫板清空,繪制出存儲的圖形坐標(biāo)。
  2. 可以將兩個 canvas 圖層疊加,(姑且稱為顯示層,臨時層)。mousedown,mouseup,mousemove 都由臨時層監(jiān)聽。其中 mousedown,mouseup 監(jiān)聽的時候?qū)︼@示層也進(jìn)行繪制,每次只清除臨時層。記得把臨時層放到顯示層的上面。
2017年5月16日 06:23