Android 路徑 Path基本操作API
阿新 • • 發佈:2018-11-14
- addArc(RectF oval, float startAngle, float sweepAngle:為路徑新增一個多邊形
- addCircle(float x, float y, float radius, Path.Direction dir):給path新增圓圈
- addOval(RectF oval, Path.Direction dir):新增橢圓形
- addRect(RectF rect, Path.Direction dir):新增一個區域
- addRoundRect(RectF rect, float[] radii, Path.Direction dir):新增一個圓角區域
- isEmpty():判斷路徑是否為空
- transform(Matrix matrix):應用矩陣變換
- transform(Matrix matrix, Path dst):應用矩陣變換並將結果放到新的路徑中,即第二個引數。
- moveTo(float x, float y):不會進行繪製,只用於移動移動畫筆
- lineTo(float x, float y):用於直線繪製,預設從(0,0)開始繪製,用moveTo移動! 比如 mPath.lineTo(300, 300); canvas.drawPath(mPath, mPaint);
- quadTo(float x1, float y1, float x2, float y2): 用於繪製圓滑曲線,即貝塞爾曲線,同樣可以結合moveTo使用!
- rCubicTo(float x1, float y1, float x2, float y2, float x3, float y3) 同樣是用來實現貝塞爾曲線的。 (x1,y1) 為控制點,(x2,y2)為控制點,(x3,y3) 為結束點。 Same as cubicTo, but the coordinates are considered relative to the current point on this contour.就是多一個控制點而已~ 繪製上述的曲線: mPath.moveTo(100, 500); mPath.cubicTo(100, 500, 300, 100, 600, 500); 如果不加上面的那個moveTo的話:則以(0,0)為起點,(100,500)和(300,100)為控制點繪製貝塞爾曲線
- arcTo(RectF oval, float startAngle, float sweepAngle): 繪製弧線(實際是擷取圓或橢圓的一部分)ovalRectF為橢圓的矩形,startAngle 為開始角度, sweepAngle 為結束角度。