简介
Path可视为画笔的移动路径,or绘制路径,可以预设自定义形状的路径,供Paint直接按路径绘制图案。
常用功能
| 方法 | 功能 | 备注 |
|---|---|---|
| moveTo(float x,float y) | 笔移动到x,y点 | 未接触画布,无绘制结果产生 |
| rMoveTo(float x,float y) | 基于当前笔位置(x0,y0),移动量分别为x,y,移动画笔至(x0+x ,y0+y)点 | 未接触画布,无绘制结果产生 |
| setLastPoint(float x,float y) | 改变上一步操作的末点 | 无绘制 |
| lineTo(float x,float y) | 从当前点,画线到x,y点 | 笔接触画布,有实际绘制效果 |
| rLineTo(float x,float y) | 从当前点(x0,y0),划线到(x0+x ,y0+y)点 | 有绘制 |
| addPath(Path src) | 添加路径 | |
| addPath(path src,float x,float y) | src移动量(x,y)距离后再添加 | |
| addPath(Path src,Matrix matrix) | 先使用Matrix进行变换,再添加 | |
| close() | 连接Path起点和终点形成一个闭合图形 | |
| set(Path src) | 设置/替换 路径 | |
| offset(float dx,float dy) | path平移量(x,y) | |
| offset(float dx,float dy,Path dst) | path平移后的状态存入dst不作用原path,dst为null 则作用原path | |
| quadTo(float x1,float y1,float x2,float y2) | (x1,y1)为控制点,(x2,y2)为终点 | |
| rQuadTo(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)为终点 | |
| rCubicTo(float x1,float y1,float x2,float y2,float x3,float y3) | 绘制三阶贝塞尔曲线(x1,y1)(x2,y2)为控制点距离起点的偏移量,(x3,y3)为终点距离起点的偏移量 | |
| addRect(RecF rect,Path.Direction dir) | 画矩形 | |
| addRect(float left,float top,float right,float bottom,Path.Direction dir) | 画矩形 | |
| addRoundRect(RectF rect,float rx,float ry,Path.Direction dir) | 画圆角矩形 | |
| addRoundRect(float left,float top,float right,float bottom,float rx,float ry,Path.Direction dir) | 画圆角矩形 | |
| addRoundRect(RectF rect,float[] radii,Path.Direction dir) | 画圆角矩形 | |
| addRoundRect(float left,float top,float right,float bottom,float[] radii,Path.Direction dir) | 画圆角矩形 | |
| addArc(RectF oval,float startAngle,float sweepAngle) | 画弧 | |
| addArc(float left,float top,float right,float bottom,float startAngle,float sweepAngle) | 画弧 | |
| arcTo(RectF oval,float startAngle,float sweepAngle,boolean forceMoveTo) | 画弧 | |
| arcTo(RectF oval,float startAngle,float sweepAngle) | ||
| arcTo(float left,float top,float right,float bottom,float startAngle,float sweepAngle,boomean forceMoveTo) | ||
| addCircle(float x,float y,float radius,Path.Direction dir) | 画圆 | |
| addOval(RectF oval,Path.Direction dir) | 画椭圆 | |
| addOval(float left,float top,float right,float bottom,Path.Direction dir) | 椭圆 | |