日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android.graphic.Path

發布時間:2025/4/9 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android.graphic.Path 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類path是一個封裝的幾何學路徑包括直線,二次曲線,三次曲線。它可以通過函數canvas.drawPath(path, paint)畫出來,可以通過填充方式或者畫線方式(由paint的style決定),也可以設置cliping或者把text畫在path上邊

Path.Direction

用來指定添加到path中的模型(比如方形,橢圓)的閉合方向,有兩個值

CCW?表示逆時針,CW?表示順時針

Path.FillType

Path會被填充的方法,有4個值

EVEN_ODD?,INVERSE_EVEN_ODD?,INVERSE_WINDING,WINDING?

public Path ()

創建一個空路徑

public Path (Path src)

創建一個路徑,將src里的內容都復制到新路徑中

public void addArc (RectF oval, float startAngle, float sweepAngle)

將一段弧線加入到path中作為一個新的輪廓,該弧線由oval,startAngle,sweepAngle三者決定

public void addCircle (float x, float y, float radius, Path.Direction dir)

增加一個閉合的圓形到path中,dir表示閉合的方向

public void addOval (RectF oval, Path.Direction dir)

增加一個閉合的矩形到path中

public void addPath (Path src, float dx, float dy)

將src平移dx,dy后添加到path當中

public void addPath (Path src)

將src添加到path當中

public void addPath (Path src, Matrix matrix)

將src通過matrix變換后添加到Path當中

public void addRect (float left, float top, float right, float bottom, Path.Direction dir)

增加一個閉合的矩形到path當中

public void addRect (RectF rect, Path.Direction dir)

增加一個閉合的矩形到path當中

public void addRoundRect (RectF rect, float[] radii, Path.Direction dir)

增加一個閉合的圓角矩形到path當中,radii表示各個角的半徑點x,y,依次是左上角,右上角,右下角,左下角

public void addRoundRect (RectF rect, float rx, float ry, Path.Direction dir)

增加一個閉合的圓角矩形到path當中,rx,ry表示各個角的半徑點

public void arcTo (RectF oval, float startAngle, float sweepAngle)

將一段圓弧連接到path當中,如果path的最后一個點和圓弧的第一個點不一樣,那么就會先通過lineTo()將這兩個點連接起來,然后再連接圓弧。當然,如果path是空的,那就會調用moveTo()把path的第一個點移到圓弧的第一個點上來

public void arcTo (RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo)

同上,sweepAngle的值在應用的過程中會到360求模,forceMoveTo如果是true,那么圓弧會一直顯示一個新的輪廓

public void close ()

關閉當前輪廓,如果當前點和該輪廓的第一個點不一樣,會自動的用一條直接連接該兩點

public void computeBounds (RectF bounds, boolean exact)

計算path中控制的點的邊界,將結果寫入bounds中,如果Path中只有0或者1個點,那么bounds會返回(0,0,0,0)的值,exact這個變量沒用

public void cubicTo (float x1, float y1, float x2, float y2, float x3, float y3)

從最后一個點開始增加一段貝塞爾曲線到path當中,接近(x1,y1),(x2,y2),同時在(x3,y3)中結束,如果這個輪廓沒有調用過moveTo(),那么將會以(0,0)作為起點

public Path.FillType getFillType ()

獲取path的填充方式,這定義了在內部的計算方法,默認值為WINDING

public void incReserve (int extraPtCount)

提示path將會增加extraPtCount個點,這能使path有效率的分配它的存儲空間

public boolean isEmpty ()

查詢path是否為空(不包括任何直線,曲線)

public boolean isInverseFillType ()

判斷filltype是否為INVERSE中的一種

public boolean isRect (RectF rect)

如果path指定了一個矩形,那么返回true,并且rect將會存儲path的邊界值,如果沒有指定一個矩形,返回false,并且忽略掉rect

public void lineTo (float x, float y)

將path的最后一個點連接點(x,y),如果path還沒調用moveTo的話,將(0,0)點連接到(x,y)

public void moveTo (float x, float y)

設置下一個輪廓的第一個點

public void offset (float dx, float dy, Path dst)

將path平移dx,dy之后,將結果寫到dst中,如果dst為null,那么改變后的結果直接寫在當前path中

public void offset (float dx, float dy)

同上,只不過就是dst=null的情形

public void quadTo (float x1, float y1, float x2, float y2)

增加一條二次的貝塞爾曲線到path的最后一個點,接近(x1,y1),在(x2,y2)點結束。如果path沒有調用moveTo來確定第一個點,那第一個點設置為(0,0)

public void rCubicTo (float x1, float y1, float x2, float y2, float x3, float y3)

跟cubicTo相同,但是參數里的這些點坐標會被考慮當前輪廓的相對位置

public void rLineTo (float dx, float dy)

public void rMoveTo (float dx, float dy)

public void rQuadTo (float dx1, float dy1, float dx2, float dy2)

跟去掉字母r的相對應的函數一樣,但是都會考慮提供的點跟輪廓的相對位置

public void reset ()

清空Path的任何直線和曲線,讓它變成空,但是不會改變filltype

public void rewind ()

rewind當前path,清除掉所有直線,曲線,但是保留它內部的數據結構,以便更好的重新使用

public void set (Path src)

用src的值替代當前path的值

public void setFillType (Path.FillType ft)

設置當前path的filltype

public void setLastPoint (float dx, float dy)

設置當前path的最后一個點

public void toggleInverseFillType ()

套住filltype的inverse狀態

public void transform (Matrix matrix, Path dst)

將path進行matrix變化后,將結果保存到dst當中,如果dst=null,將結果保存到當前path當中

public void transform (Matrix matrix)

同上,相當于dst=null情形

轉載于:https://www.cnblogs.com/zhongle/p/4238992.html

總結

以上是生活随笔為你收集整理的android.graphic.Path的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。