Paint方法總結(四):Path的應用

Paint方法總結(四):Path的應用

先對Path中的Api做一個簡單的介紹

moveTo(float x,float y):將路徑的繪制移動到指定的點,如果不調用該方法,則path的繪制起點默認是坐標原點

lineTo(float x,float y):路徑軌跡為上一個點和當前指定點之間的連線

rLineTo(float x,float y):表示相對于上一個點的位移距離,與lineTo不同的是,lineTo是表示軌跡移動到指定的點,而rLineTo表示的是,軌跡移動到是相對于上一個而言的,如果當前點的位置在(100,100),如果調用rLineTo(50,50)后,當前點的位置是在(150,150)的。

close():表示路徑軌跡是一個閉合的,即系統(tǒng)會自動將軌跡的最后一個點和起始點做一個連線,如果不調用則表示繪制的路徑軌跡不閉合

addArc(float left,float top,float right,float bottom,float startAngle, float sweepAngle):添加一個扇形軌跡

  • left,top,right,bottom這四個坐標表示扇形所在的矩形區(qū)域
  • startAngle:表示扇形繪制時的開始角度
  • sweepAngle:表示扇形掃過的角度,即扇形實際繪制的角度

關于這種添加還有很多方法,類似于addRect(... , Direction dir)添加一個矩形,addCircle(... ,Direction dir)添加一個圓形,addOval(... ,Direction dir)添加一個橢圓,前面的參數就是指定一些坐標點就不贅述了,后面的這個Direction是指的繪制方向,是個枚舉值CW順時針繪制,CCW逆時針繪制

mPath.arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo):追加一個扇形,當前面已經畫好一個路徑后,需要在畫一個扇形,前面的參數跟之前介紹的一樣,這里主要介紹forceMoveTo,這是一個boolean類型的參數,如果為true,表示強制移動到當前追加的地方,如果為false,則會將上一個圖形的末尾點和追加的起點進行一個連線。效果參見下圖

forceMoveTo.png

addPath(Path):添加一個Path

addRoundRect(RectF rect, float rx, float ry, Direction dir):添加一個圓角矩形

  • rx,ry:x方向和y方向上的圓角半徑

quadTo(float x1, float y1, float x2, float y2):繪制二階貝塞爾曲線,x1y1為控制點坐標,x2、y2為結束點坐標,在調用之前,需要調用moveTo()方法指定起始點,如果不調用,則默認起始點為坐標原點(0,0)

rQuadTo(float x1, float y1, float x2, float y2):繪制二階貝塞爾曲線,這里出入的坐標是相對于起始點而言的。

cubicTo(float x1, float y1, float x2, float y2,float x3, float y3):繪制三階貝塞爾曲線,x1y1為第一個控制點的坐標,x2、y2為第二個控制點的坐標,x3、y3為結束點的坐標,起始點的指定與二階貝塞爾曲線一樣。

rCubicTo(float x1, float y1, float x2, float y2,float x3, float y3):繪制三階貝塞爾曲線,這里的坐標是相對于起始點而言的。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容