Android 系统api提供了quadTo和rQuadTo实现二阶贝塞尔曲线,三阶贝塞尔曲线在这不做阐述,只不过是两个控制点。
效果图
首先看张二阶贝赛尔的曲线
Path path = new Path();
//贝赛尔的起始点moveTo(x,y)
path.moveTo(getWidth() / 2 - 200, getHeight() / 2);
//quadTo 参数讲解(x1,y1,x2,y2)
//x1:控制点x坐标
//y1:在控制点y坐标
//x2:终点x坐标
//y2:终点y坐标
path.quadTo(getWidth() / 2 - 100, getHeight() / 2 - 100, getWidth() / 2, getHeight() / 2);
path.quadTo(getWidth() / 2 + 100, getHeight() / 2 + 100, getWidth() / 2 + 200, getHeight() / 2);
canvas.drawPath(path, mPaint);
quadTo和rQuadTo