JS怎么拖动鼠标在canvas上动态画椭圆

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

参数:
x
椭圆圆心的 x 轴坐标。
y
椭圆圆心的 y 轴坐标。
radiusX
椭圆长轴的半径。
radiusY
椭圆短轴的半径。
rotation
椭圆的旋转角度,以弧度表示(非角度度数)。
startAngle
将要绘制的起始点角度,从 x 轴测量,以弧度表示(非角度度数)。
endAngle
椭圆将要绘制的结束点角度,以弧度表示(非角度度数)。

问题:当鼠标moveDown时记录起点坐标,moveUp时记录结束点坐标(这两个点都是椭圆最边上的坐标点),通过这两点可以计算出上边的参数值画出一个椭圆来,这样能实现吗。还有别的方法没有


手掌心
浏览 403回答 1
1回答

宝慕林4294392

现在的问题是通过这两个点能不能计算出上面的所有参数来,我们来一个个看一下1.x,y左边,显然可以,取两个点的中点2.rotation,根据起点和终点的斜率算出来3.radiusX=起点到终点的距离/24.其他的参数就没办法计算,当然可以设置一些默认值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript