view中path的使用

Path mPath = new Path();
1,Path.Direction.CCW和 Path.Direction.CW
Path.Direction.CW表示順時針
Path.Direction.CCW表示逆時針

2 lineTo moveTo
在lineTo表示軌跡運動點 moveTo表示軌跡運動起點
在path畫圖中,如果不設置moveTo系統默認在(0,0)
設置moveTo
mPath.moveTo(20,40);
mPath.lineTo(30,80);
canvas.drawPath(mPath, mPaint);
不設置moveTo
mPath.lineTo(30,80);
canvas.drawPath(mPath, mPaint);
3,貝塞爾曲線
3.1path.quadTo(float x1, float y1, float x2, float y2)
float x1表示操作的起點x軸座標
float y1表示操作起始點y軸座標
float x2 表示操作結束點x軸座標
float y2 表示操作結束點y軸座標
mPath.moveTo(20,40);
mPath.quadTo(30,20,50,60);
canvas.drawPath(mPath, mPaint);
3.2 rCubicTo(float x1, float y1, float x2, float y2,
float x3, float y3)
float x2, float y2, 同樣表示操作起點
4矩形
addRect(float left, float top, float right, float bottom, Direction dir)
left 左邊座標 x
top 上邊座標值 y
right 右邊座標值 x
bottom 底部座標值 y
dir 畫圖方向 看第一條介紹,兩個枚舉值
mPath.addRect(30,30,90,90, Path.Direction.CCW);
canvas.drawPath(mPath, mPaint);
5 圓角矩形
addRoundRect(float left, float top, float right, float bottom, float rx, float ry,Direction dir) 注 這個要求sdk最低版本呢是21
向下兼容要使用
addRoundRect(RectF rect, float rx, float ry, Direction dir)
mPath.addRoundRect(new RectF(30,30,90,90),5,5, Path.Direction.CCW);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章