2016-06-07 62 views
0

假设我有一个宽度和高度各为400的画布对象,并且在它的2D上下文中绘制画布对象的边界之外。有没有办法计算绘制在画布边界之外的任何东西的大小?计算在画布边界之外绘制的区域

实施例说明:

enter image description here

回答

0

所有包围盒的rects面积

计算所有矩形的极值:

var currentLeftmostX=10000000; 
var currentTopmostY=10000000; 
var currentRightmostX=-10000000; 
var currentBottommostY=-10000000; 

// do this for each rect 
if(rect.x < currentLeftmostX) {currentLeftmostX=rect.x;} 
if(rect.y < currentTopmostY) {currentTopmostY=rect.y;} 
if(rect.x+rect.width > currentRightmostX) {currentRightmostX=rect.x;} 
if(rect.y+rect.height > currentBottommostY){currentBottommostY=rect.y;} 

var boundingArea= 
    (currentRightmostX-currentLeftmostX)*(currentBottommostY - currentBottommostY);