检查点是否接近矩形边框

时间:2014-04-05 15:07:25

标签: android

我有4个点制作一个矩形。我想知道视图中的另一个点是否靠近该矩形的边界。如果该点位于矩形的矩形或OUTSIDE中,则不是这样。我们的想法是知道点是否接近矩形(例如25像素)。

我正在制作一个矩形,让用户重新调整视图大小。如果用户在矩形外部单击,则保存更改。这一切都很简单,但我还想在用户点击矩形时保存更改。

enter image description here

在这个例子中,我想检测用户是否触摸灰色或粉红色区域,而不是黑色区域(可能触及蓝点或周围)

1 个答案:

答案 0 :(得分:1)

这是一些解决问题的伪代码:

float distance = 25.0f;    // constant distance
if ( ( point.x < rect.left && point.x > rect.left - distance ) ||
     ( point.x > rect.right && point.x < rect.right + distance ) ||
     ( point.y < rect.bottom && point.y > rect.bottom - distance ) ||
     ( point.y > rect.top && point.y < rect.top + distance ) )  {
    // point is in black area
}
else  {
    // point is in pink/grey area
}

只需将距离定义为要排除的矩形周围的大小,并确保点和矩形坐标都在同一坐标系中。