在Javascript的Canvas中,可以使用ctx.arc方法轻松绘制一个圆,我想知道,arc函数是否会计算绘制圆所需的顶点数以获得最佳性能和图形?
在某些情况下(使用 Chrome)您可以看到它是正多边形而不是“圆形”。
每个顶点之间的弧度公式为:
th = arccos(2 * (1 - e / r)^2 - 1)
其中 e 是像素大小
如 this 中所述问题。
那么,最后,我应该使用现有的函数还是使用公式创建自己的函数以获得最佳性能和图形?
最佳答案
最佳图形外观:
浏览器会自动消除锯齿,而您手动计算的版本则不会,因此您的圆圈在视觉上看起来更加“锯齿状”。
性能:
我怀疑浏览器已经优化了 context.arc,但您始终可以运行性能测试:
关于javascript - Javascript 的 ctx.arc 方法是否计算相对于像素大小和半径的顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25265865/