最近在研究一个问题,有一系列点,需要拟合成一条漂亮的曲线,绘制出来,研究结果如下,感谢网友!
// 获取一系列点的曲线路径 private Path getPointCurvePath(List<Point> points) { Point startp; Point endp; Point p3 = new Point(); Point p4 = new Point(); Path path = new Path(); if (null == points || 0 == points.size()) { return path; } startp = points.get(0); path.moveTo(startp.x, startp.y); int xCenter, yCenter; for (int i = 0; i < points.size() - 1; i++) { startp = points.get(i); endp = points.get(i+1); xCenter = (int)(startp.getX() + endp.getX()) / 2; yCenter = (int)(startp.getY() + endp.getY()) / 2; p3.y = startp.y; p3.x = xCenter; p4.y = endp.y; p4.x = xCenter; // 确定曲线的路径 path.cubicTo(p3.x, p3.y, p4.x, p4.y, endp.x, endp.y); // path.quadTo(xCenter, yCenter, endp.x, endp.y); } return path; }
效果如下:
时间: 2024-10-29 10:46:20