这个问题已经有了答案:
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 NormManhattan 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代码,但这不应该太难编写。

10-07 20:47