我正在尝试将 Android 中的复杂路径分解为其子轮廓。目前我想出了这个代码:
public static ArrayList<Path> splitToContours(Path path) {
ArrayList<Path> list = new ArrayList<Path>();
PathMeasure pm = new PathMeasure(path, true);
float segment = 0;
Path tempPath;
do {
tempPath = new Path();
tempPath.rewind();
pm.getSegment(segment, segment + pm.getLength(), tempPath, true);
segment += pm.getLength();
tempPath.close();
list.add(tempPath);
} while (pm.nextContour());
return list;
}
然而,在我看来,轮廓中的最后一点也开始下一个轮廓。谁能帮我吗?也许有一种更简单、更优雅的方式来做到这一点?在过去的两周里,我一直在用头撞墙,我有点迷失在这里。