我应该在调用 Canvas 绘制方法之前剔除元素还是让 Canvas 处理剔除。我是否应该实现如下逻辑:
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 并让 Canvas 确定要绘制或不绘制什么?
我希望这是有道理的?我将编写一些代码来对此进行测试,但我们将不胜感激……谢谢。
最佳答案
“Canvas”(即浏览器内部结构)将在任何情况下检查这些值,如果值超出边界则执行裁剪(或仅使用系统的位图低级裁剪能力)。
出于这个原因,首先在 JS 中进行边界检查是没有意义的,而且因为内部检查比在 JS 中进行更有效。
Canvas 绘图被设计得非常安全,不仅可以执行裁剪,还可以限制颜色值等。
关于javascript - 我应该在渲染到 HTML5 Canvas 之前剔除元素还是让 Canvas 剔除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893626/