Path作为Android中一种相对复杂的绘图方式,官方文档中的有些解释并不是很好理解,这里作一个相对全面一些的总结,供日后查看,也分享给大家,共同进步。
1.基本绘图方法addArc(RectF oval, float startAngle, float sweepAngle)
绘制弧线,配合Paint的Style可以实现不同的填充效果
addCircle(float x, float y, float radius, Path.Direction dir)
绘制圆形,其中第dir参数用来指定绘制时是顺时针还是逆时针
addOval(RectF oval, Path.Direction dir)
绘制椭圆形,其中 oval作为椭圆的外切矩形区域
addRect(RectF rect, Path.Direction dir)
绘制矩形
addRoundRect(RectF rect, float rx, float ry, Path.Direction dir)
绘制圆角矩形
lineTo(float x, float y)
绘制直线
addPath(Path src)
添加一个新的Path到当前Path
arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo)
与addArc方法相似,但也有区别,下文细述。
quadTo(float x1, float y1, float x2, float y2)
绘制二次贝塞尔曲线,其中 (x1,y1)为控制点,(x2,y2)为终点
cubicTo(float x1, float y1, float x2, float y2, float x3, float y3)
绘制三次贝塞尔曲线,其中(x1,y1),(x2,y2)为控制点,(x3,y3)为终点
2.rXXX方法
上面的lineTo,MoveTo,QuadTo,CubicTo方法都有与之对应的rXXX方法:rLineTo(float dx, float dy)
rMoveTo(float dx, float dy)
rQuadTo(float dx1, float dy1, float dx2, float dy2)
rCubicTo(float x1, float y1, float x2, float y2, float x3, float