鍍金池/ 問答/HTML5  PHP  HTML/ JS怎么拖動鼠標(biāo)在canvas上動態(tài)畫橢圓

JS怎么拖動鼠標(biāo)在canvas上動態(tài)畫橢圓

利用canvas API
ctx.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);

參數(shù):
x
橢圓圓心的 x 軸坐標(biāo)。
y
橢圓圓心的 y 軸坐標(biāo)。
radiusX
橢圓長軸的半徑。
radiusY
橢圓短軸的半徑。
rotation
橢圓的旋轉(zhuǎn)角度,以弧度表示(非角度度數(shù))。
startAngle
將要繪制的起始點(diǎn)角度,從 x 軸測量,以弧度表示(非角度度數(shù))。
endAngle
橢圓將要繪制的結(jié)束點(diǎn)角度,以弧度表示(非角度度數(shù))。

問題:當(dāng)鼠標(biāo)moveDown時記錄起點(diǎn)坐標(biāo),moveUp時記錄結(jié)束點(diǎn)坐標(biāo)(這兩個點(diǎn)都是橢圓最邊上的坐標(biāo)點(diǎn)),通過這兩點(diǎn)可以計(jì)算出上邊的參數(shù)值畫出一個橢圓來,這樣能實(shí)現(xiàn)嗎。還有別的方法沒有

回答
編輯回答
悶騷型

現(xiàn)在的問題是通過這兩個點(diǎn)能不能計(jì)算出上面的所有參數(shù)來,我們來一個個看一下
1.x,y左邊,顯然可以,取兩個點(diǎn)的中點(diǎn)
2.rotation,根據(jù)起點(diǎn)和終點(diǎn)的斜率算出來
3.radiusX=起點(diǎn)到終點(diǎn)的距離/2
4.其他的參數(shù)就沒辦法計(jì)算,當(dāng)然可以設(shè)置一些默認(rèn)值

2018年1月12日 21:22