我应该在渲染到HTML5画布之前剔除元素还是让画布剔除

时间:2013-06-03 09:26:37

标签: javascript html5 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并让画布找出要绘制的内容吗?

我希望这有道理吗?我将编写一些代码来测试这个,但任何输入都将不胜感激....谢谢。

1 个答案:

答案 0 :(得分:1)

“Canvas”(即浏览器内部)无论如何都会检查这些值,如果值在边界之外,则执行裁剪(或者只使用系统对位图的低级裁剪能力)。

因此,首先在JS中进行边界检查是没有意义的,但也因为内部检查比在JS中执行更有效。

Canvas绘图设计非常安全,不仅可以执行剪裁,还可以剪切颜色值等。