这个问题已经有了答案:
How to set button by a contour polygon? Android
1个答案
请看下图。
总图像约为300x300。里面有一个菱形。我知道它的要点如下
pointA = new Point(0, 183);
pointB = new Point(183, 0);
pointC = new Point(366, 183);
pointD = new Point(183, 366);
如果我触摸到整个图像,我如何才能检测到接触点是在菱形区域内还是在外部?
我也看了一下this链接,但有些地方不太明白。
最佳答案
你指的是L1 Norm或Manhattan Distance。要测试单击的点是否在菱形中(或小于183的l1范数),只需执行以下操作(伪代码):
isInside(ClickedPoint)
{
X=abs(ClickedPoint.x-183);
Y=abs(Clickedpoint.y-183);
if (X+Y<=183) return inside
else return outside
}
很抱歉没有包含真正的Java代码,但这不应该太难编写。