2013-06-03 61 views
1

我應該在調用畫布繪製方法還是讓畫布處理剔除之前剔選元素。我應該實現類似的邏輯:我應該在呈現到HTML5畫布之前剔除元素還是讓畫布剔除

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

無論在任何情況下,「畫布」(即瀏覽器內部)都將檢查這些值,並在值超出邊界(或僅使用系統的位圖低位裁剪能力)時執行裁剪。

因此,首先在JS中進行邊界檢查沒有意義,但也是因爲內部檢查比在JS中執行邊界檢查更有效。

畫布繪圖的設計非常安全,不僅執行裁剪,還夾持顏色值等等。