火狐浏览器下,closePath()所绘制的角并不能正确的应用linejoin和miterlimit两个属性。如果将绘制函数直接写成封闭,即将i<5改为i<6就可以了。不知道是Canvas说明文档的问题还是什么浏览器支持问题?反正以后遇到这种绘图我会尽量少用closePath()。毕竟作用并不大,目前看w3c文档根据我的理解他好像只有将图形绘制成封闭的这一种功能了?有说的不对的地方希望大神私信指点我一下,万分感谢。
2017-12-16
closePath()参数老师说的确实有误,并不是结束一条路径。而是默认将未封闭的路径用一条起点直达终点的线段连接起来,如果要新建一条路径,只需要声明beginPath()就可以了。当你在绘制多个圆弧的时候可以尝试实验一下来验证我说的是否正确。
看到下面这些评论真的是呵呵了,这和数学拉得上什么关系?就是一个tansform函数,我们又不管js内部是怎么设置这个函数的,只管用这个函数。
2017-11-09
var x=Math.abs(Math.random()*canvas.width- 2*r)+r;
var y=Math.abs(Math.random()*canvas.height- 2*r)+r;
var y=Math.abs(Math.random()*canvas.height- 2*r)+r;