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 的边界内。

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