如何在画布上获取路径的确切区域

时间:2016-12-01 09:03:33

标签: android canvas path region

我正在使用它来获取路径区域:

 RectF rectF = new RectF();
 Path currentPath = getCurrentPath();
 currentPath.computeBounds(rectF, true);
 Region region = new Region();

这给了我这样一个矩形:

enter image description here

绿色矩形是我可以从圆圈中获得的区域。

我想通过拖动来移动红色圆圈所以我需要它的确切边界而不是这个矩形。

使用此方法可以从中心移动圆圈,但我不想要它。我希望它可以从其确切的红点移动。

如何确定确切的边界?

1 个答案:

答案 0 :(得分:0)

我只是使用两个区域来解决这个问题。以下是示例代码:

首先,将大圆圈区域设为clickableRegion:

contains

然后,使用类似的代码将小圆圈区域设为disClickableRegion。小圆圈应与bigCircle具有相同的中心。

定义public boolean conatins(Point p) { if(disClickableRegion.contains(p.x, p.y)) { return false; } return clickableRegion.contains(p.x, p.y); } 函数;

arr