我刚开始使用HTML5并在屏幕上画了一个圆圈。如果存在beginPath()和closePath(),则会绘制弧,但如果不存在beginPath和closePath,则不会绘制圆。
有没有办法让你绘制弧而不必在代码中放置beginPath()和closePath()。我在某个时候听说过一个人可以像在数组中那样返回beginPath和closePath,但此时它还没有在任何浏览器中实现。
代码:
context.beginPath();
context.arc(ball.x,ball.y,ball.radius,0,Math.PI*2,true);
context.closePath();
答案 0 :(得分:0)
这取决于你下一步做什么:
closePath()
需要连接终点和起点(如果你想要的是圆圈)。如果你想要一个开放弧,那么它就不是必需的。 beginPath()
是开始一条干净路径所必需的。如果你不使用它并且例如抚摸或填充,那么添加更多路径(即弧形)旧路径和新弧将再次填充/抚摸。
如果弧是添加到画布的第一个形状,则不需要beginPath()
,因为路径为空。另请参阅this answer了解他们的工作详情。
另外,为了防万一,当你添加路径时,你需要stroke()
和/或fill()
它将它光栅化到画布,因为它们只作为内部向量存在(即路径和子路径)路径)到那时为止。