如果我有它们的 X、Y 坐标和它们的高度/宽度,那么在 PHP 中获取两个矩形之间重叠像素数的最短方法是什么?这是一个最佳实践问题,因为我目前正在使用错误/凌乱的 if 语句集合来做这件事。
编辑:这是我目前正在尝试解决的问题:
echo overlapping(1,1,5,5,4,4,6,6).PHP_EOL;
echo overlapping(0,0,29,21,30,20,40,50).PHP_EOL;
function overlapping($x1,$y1,$w1,$h1,$x2,$y2,$w2,$h2){
$wover = abs($x1+($w1/2) - ($x2+($w2/2))) - ($w1/2)+ ($w2/2);
$hover = abs($y1+($h1/2) - ($y2+($h2/2))) - ($h1/2)+ ($h2/2);
return $wover*$hover;
}