android path转point集合
时间: 2024-02-03 18:03:04 浏览: 224
要将 Android 的 Path 转换为 Point 集合,可以使用 PathMeasure 类的 getPosTan() 方法来获取 Path 上的点坐标。具体操作如下:
1. 创建一个 PathMeasure 对象并关联 Path 对象:
```java
PathMeasure pathMeasure = new PathMeasure(path, false);
```
2. 获取 Path 的长度:
```java
float length = pathMeasure.getLength();
```
3. 遍历 Path 上的点并将它们添加到一个 Point 集合中:
```java
List<PointF> pointList = new ArrayList<>();
float[] coords = new float[2];
for (float distance = 0; distance < length; distance += step) {
pathMeasure.getPosTan(distance, coords, null);
pointList.add(new PointF(coords[0], coords[1]));
}
```
其中,step 是每个点之间的距离,可以根据需要进行调整。
最后得到的 pointList 集合中存储了 Path 上的所有点坐标。
相关问题
android point集合转path
要将 Android 中的 Point 集合转换为 Path 对象,可以遍历 Point 集合并使用 Path 对象的 lineTo() 方法将每个点连接起来形成一个 Path。具体操作如下:
1. 创建一个空的 Path 对象:
```java
Path path = new Path();
```
2. 遍历 Point 集合并使用 lineTo() 方法将每个点连接起来:
```java
for (int i = 0; i < pointList.size(); i++) {
PointF point = pointList.get(i);
if (i == 0) {
path.moveTo(point.x, point.y);
} else {
path.lineTo(point.x, point.y);
}
}
```
其中,第一个点使用 moveTo() 方法进行移动,后面的点使用 lineTo() 方法进行连接。
3. 如果需要闭合 Path,可以使用 close() 方法:
```java
path.close();
```
最后得到的 path 对象即为由 Point 集合转换而来的 Path。
阅读全文