要熟悉地掌握自定义控件是,path的学习是必经之路,下面我们的了解一下Path:
一、path是什么?
Path类将多种复合路径(多个轮廓,如直线段、二次曲线、立方曲线)封装在其内部的几何路径。一般与paint、canvas配合使用自定义控件。path就是要画的图形的路径。
二、path常用方法:
函数名 | 作用 |
---|---|
lineTo、rLineTo | 绘制线 |
moveTo、rMoveTo | 改变后面操作的起始点位置 |
setLastPoint | 改变前面操作中最后点的位置 |
addRect | 绘制矩形 |
addRoundRect | 绘制圆角矩形 |
addCircle | 绘制圆 |
addOval | 绘制椭圆 |
addArc、arcTo | 绘制圆弧 闭合 |
path close | 如果连接Path起点和终点能形成一个闭合图形,则会将起点和终点连接起来形成一个闭合图形 |
quadTo、rQuadTo、cubicTo、rCubicTo | 贝塞尔曲线 |
例子(贝塞尔曲线):
// 1.cubicTo画贝塞尔曲线
mPath.moveTo(50,500);// 第一个点
mPath.cubicTo(50,500,200,200,350,500);// 第一个点、第二个点和第三个点
mPath.cubicTo(350,500,500,800,650,500);//第三个点、 第四个点和第五个点
// 2.quadTo画贝塞尔曲线
mPath.moveTo(50,500);// 第一个点
mPath.quadTo(200,300,350,500);// 第二个点和第三个点
mPath.quadTo(500,700,650,500);// 第四个点和第五个点
canvas.drawPath(mPath,paint);
效果图:
贝塞尔曲线
注意:
画贝塞尔曲线至少要画一个周期,所以至少需要确定5个点
网友评论