轉自:http://www.cnblogs.com/xqxacm/p/6656554.html
Path:路徑
繪製路徑:void drawPath (Path path, Paint paint)
Path 可以繪製的路徑
一、直線路徑
1、基本方法
void moveTo (float startX, float startY) 直線的開始點;即將直線路徑的繪製點定在(startX,startY)的位置; void lineTo (float endX, float endY) 直線的結束點,又是下一次繪製直線路徑的開始點; void close () 如果連續畫了幾條直線,但沒有形成閉環,調用Close()會將路徑首尾點連接起來,形成閉環;
①、不形成閉環
------------>
②、形成閉環 ,可以看到首尾兩個座標之間閉合了一條直線
------------>
二、矩形路徑
1、基本方法
void addRect (float left, float top, float right, float bottom, Path.Direction dir) void addRect (RectF rect, Path.Direction dir)
RectF rect = new RectF(float left, float top, float right, float bottom);
可見兩個方法類似。
這裏有一個 Path.Direction dir 參數, 翻譯一下就是:路徑繪製的方向
有兩個系統值:
(1)、Path.Direction.CCW:是counter-clockwise縮寫,指創建逆時針方向的矩形路徑;
(2)、Path.Direction.CW:是clockwise的縮寫,指創建順時針方向的矩形路徑;
注意點:RectF 和 Rect 類 的區別
1、都表示矩形
2、精度不一樣,Rect是int ,RectF是float
3、矩形路徑用到的是RectF類,注意不要使用Rect類
------------>
三、圓形路徑
1、基本方法
void addCircle (float x, float y, float radius, Path.Direction dir)
就一個方法,參數很顯然: x 圓心X軸座標 ,y 圓心Y軸座標 ,radius 圓的半徑 ,dir 繪製圓形路徑的方向
------------>
四、橢圓路徑
1、基本方法
void addOval (RectF oval, Path.Direction dir)
RectF rect = new RectF(float left, float top, float right, float bottom);
可以發現和繪製矩形路徑類似 用到了RectF類
注意四個參數的意義
------------>
五、弧形路徑
1、基本方法
void addArc (RectF oval, float startAngle, float sweepAngle)
兩個參數的意義:
①、float startAngle:開始的角度,X軸正方向爲0度
②、float sweepAngel:持續的度數;
畫一個X軸正方形開始的(0°),持續270°的 弧形
------------>
六、圓角矩形路徑
1、基本方法
void addRoundRect (RectF rect, float[] radii, Path.Direction dir) void addRoundRect (RectF rect, float rx, float ry, Path.Direction dir)
這裏有兩個方法:
①、 void addRoundRect (RectF rect, float[] radii, Path.Direction dir)
可以看到多了一個float[] radii 參數,這個參數控制的是圓形矩形四個角的圓形程度,每一個角又由一個X軸半徑和一個Y軸半徑控制
所以這個數組參數必須要有8個值 ,這個方法能控制生成的圓角矩形各個角的圓形程度都不一樣
從左上角開始 順時針 每兩個值控制一個角
下面例子看到看到 從左上角瞬時間開始角的程度分別爲 5px,10px,15px,20px
------------>
②、void addRoundRect (RectF rect, float rx, float ry, Path.Direction dir)
這個方法更簡單,只要控制一次x,y軸半徑,讓四個角統一的設置一次就行
如下圖,每一個角的程度都一致
------------>
------------------------------------------------------------------------------------------------------------------------------
以上是路徑的各種繪製方法,接下來講一下 路徑繪製基本都要用到的參數
1、Path.Direction.CCW:是counter-clockwise縮寫,指創建逆時針方向的矩形路徑;
2、Path.Direction.CW:是clockwise的縮寫,指創建順時針方向的矩形路徑;
很簡單可以看出這個參數其實就是控制我們繪製一個圖形是 順時針繪製的還是逆時針繪製的
現在我們給繪製的時候加上文本,就可以輕鬆看出繪製的順序了
----------->