我应该在调用画布绘制方法之前剔除元素,还是让画布处理剔除。我应该实现如下逻辑:
if(circle.x+circle.radius>=0 || circle.x-circle.radius<canvas.width || circle.y+circle.radius>=0 || circle.y-circle.radius<canvas.height)
context.arc(circle.x,circle.y,circle.radius,0,2.Math.PI,false);
或
我应该只调用context.arc并让画布找出要绘制的内容吗?
我希望这有道理吗?我将编写一些代码来测试这个,但任何输入都将不胜感激....谢谢。
答案 0 :(得分:1)
“Canvas”(即浏览器内部)无论如何都会检查这些值,如果值在边界之外,则执行裁剪(或者只使用系统对位图的低级裁剪能力)。
因此,首先在JS中进行边界检查是没有意义的,但也因为内部检查比在JS中执行更有效。
Canvas绘图设计非常安全,不仅可以执行剪裁,还可以剪切颜色值等。