GeneralPath 判斷座標點是否在圖形內部

public final class GeneralPath
extends Objectimplements Shape, Cloneable

GeneralPath 類表示根據直線、二次曲線和三次 (Bézier) 曲線構造的幾何路徑。它可以包含多個子路徑。

纏繞規則指定確定路徑內部的方式。纏繞規則有兩種類型:EVEN_ODD 和 NON_ZERO。

EVEN_ODD 纏繞規則意味着,從路徑外向區域內的點移動並穿過它時,路徑的封閉區域在內部區域和外部區域之間交替變化。

NON_ZERO 纏繞規則意味着,如果從給定點朝任意方向向無窮大繪製射線並檢查路徑與射線相交的位置,當且僅當路徑從左到右穿過射線的次數不等於路徑從右到左穿過射線的次數時,點位於路徑內。


 void append(PathIterator pi, boolean connect) 
          將指定 PathIterator 對象的幾何形狀追加到路徑中,可能使用一條線段將新幾何形狀連接到現有的路徑段。
 void append(Shape s, boolean connect) 
          將指定 Shape 對象的幾何形狀追加到路徑中,可能使用一條線段將新幾何形狀連接到現有的路徑段。


 void closePath() 
          通過向最後 moveTo 的座標繪製直線閉合當前子路徑。
 boolean contains(double x, double y) 
          測試指定座標是否在 Shape 的邊界內。
 boolean contains(double x, double y, double w, double h) 
          測試指定矩形區域是否在 Shape 的邊界內。
 boolean contains(Point2D p) 
          測試指定 Point2D 是否在 Shape 的邊界內。
 boolean contains(Rectangle2D r) 
          測試指定 Rectangle2D 是否在 Shape 的邊界內。

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