所有类


java.awt.geom
类 GeneralPath

java.lang.Object
  继承者 java.awt.geom.GeneralPath
所有已实现的接口:
Shape, Cloneable

public final class GeneralPath
   
   
   
   
   
extends Object
implements Shape, Cloneable

GeneralPath 类表示根据直线、二次曲线和三次 (Bézier) 曲线构造的几何路径。它可以包含多个子路径。

缠绕规则指定确定路径内部的方式。缠绕规则有两种类型:EVEN_ODD 和 NON_ZERO。

EVEN_ODD 缠绕规则意味着,从路径外向区域内的点移动并穿过它时,路径的封闭区域在内部区域和外部区域之间交替变化。

NON_ZERO 缠绕规则意味着,如果从给定点朝任意方向向无穷大绘制射线并检查路径与射线相交的位置,当且仅当路径从左到右穿过射线的次数不等于路径从右到左穿过射线的次数时,点位于路径内。


字段摘要
static intWIND_EVEN_ODD
          用于确定路径内部的奇偶 (even-odd) 缠绕规则。
static intWIND_NON_ZERO
          用于确定路径内部的非零 (non-zero) 缠绕规则。
 
构造方法摘要
GeneralPath()
          构造一个新 GeneralPath 对象。
GeneralPath(int rule)
          构造一个新 GeneralPath 对象,使其具有指定缠绕规则以控制需要定义路径内部的操作。
GeneralPath(int rule, int initialCapacity)
          构造一个新 GeneralPath 对象,使其具有指定的缠绕规则和指定的初始容量,以存储路径坐标。
GeneralPath(Shape s)
          根据任意 Shape 对象构造一个新 GeneralPath 对象。
 
方法摘要
 voidappend(PathIterator pi, boolean connect)
          将指定 PathIterator 对象的几何形状追加到路径中,可能使用一条线段将新几何形状连接到现有的路径段。
 voidappend(Shape s, boolean connect)
          将指定 Shape 对象的几何形状追加到路径中,可能使用一条线段将新几何形状连接到现有的路径段。
 Objectclone()
          创建一个与此对象具有相同类的新对象。
 voidclosePath()
          通过向最后 moveTo 的坐标绘制直线闭合当前子路径。
 booleancontains(double x, double y)
          测试指定坐标是否在 Shape 的边界内。
 booleancontains(double x, double y, double w, double h)
          测试指定矩形区域是否在 Shape 的边界内。
 booleancontains(Point2D p)
          测试指定 Point2D 是否在 Shape 的边界内。
 booleancontains(Rectangle2D r)
          测试指定 Rectangle2D 是否在 Shape 的边界内。
 ShapecreateTransformedShape(AffineTransform at)
          返回新变换的 Shape
 voidcurveTo(float x1, float y1, float x2, float y2, float x3, float y3)
          通过绘制与当前坐标及坐标 (x3,y3) 都相交的 Bézier 曲线,并将指定点 (x1,y1) 和 (x2,y2) 用作 Bézier 的控制点,将由三个新点定义的曲线段添加到路径中。
 RectanglegetBounds()
          返回路径的边界框。
 Rectangle2DgetBounds2D()
          返回路径的边界框。
 Point2DgetCurrentPoint()
          返回最近添加到路径尾部的坐标(作为 Point2D 对象)。
 PathIteratorgetPathIterator(AffineTransform at)
          返回一个沿 Shape 边界迭代并提供对 Shape 轮廓几何形状访问的 PathIterator 对象。
 PathIteratorgetPathIterator(AffineTransform at, double flatness)
          返回一个沿变平 Shape 边界迭代并提供对 Shape 轮廓几何形状的访问的 PathIterator 对象。
 intgetWindingRule()
          返回填充风格缠绕规则。
 booleanintersects(double x, double y, double w, double h)
          测试此 Shape 的内部是否与指定矩形坐标集的内部相交。
 booleanintersects(Rectangle2D r)
          测试 Shape 内部是否与指定 Rectangle2D 内部相交。
 voidlineTo(float x, float y)
          通过绘制一条从当前坐标到新指定坐标的直线在路径中添加点。
 voidmoveTo(float x, float y)
          通过移动到指定的坐标在路径中添加点。
 voidquadTo(float x1, float y1, float x2, float y2)
          通过绘制与当前坐标及坐标 (x2,y2) 都相交的 Quadratic 曲线,并将指定点 (x1, y1) 用作二次曲线参数控制点,将由两个新点定义的曲线段添加到路径中。
 voidreset()
          将路径重置为空。
 voidsetWindingRule(int rule)
          将此路径的缠绕规则设置为指定值。
 voidtransform(AffineTransform at)
          使用指定的 AffineTransform 变换此路径的几何形状。
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

WIND_EVEN_ODD

public static final int WIND_EVEN_ODD
用于确定路径内部的奇偶 (even-odd) 缠绕规则。

另请参见:
常量字段值

WIND_NON_ZERO

public static final int WIND_NON_ZERO
用于确定路径内部的非零 (non-zero) 缠绕规则。

另请参见:
常量字段值
构造方法详细信息

GeneralPath

public GeneralPath()
构造一个新 GeneralPath 对象。如果对此路径执行的操作需要定义路径内部,则使用默认的 NON_ZERO 缠绕规则。

另请参见:
WIND_NON_ZERO

GeneralPath

public GeneralPath(int rule)
构造一个新 GeneralPath 对象,使其具有指定缠绕规则以控制需要定义路径内部的操作。

参数:
rule - 缠绕规则
另请参见:
WIND_EVEN_ODD, WIND_NON_ZERO

GeneralPath

public GeneralPath(int rule,
                   int initialCapacity)
构造一个新 GeneralPath 对象,使其具有指定的缠绕规则和指定的初始容量,以存储路径坐标。此数是对路径中路径段的初始猜测值,但是储量可以根据需要扩展,以存储任何添加到此路径的路径段。

参数:
rule - 缠绕规则
initialCapacity - 对路径中路径段数的估计
另请参见:
WIND_EVEN_ODD, WIND_NON_ZERO

GeneralPath

public GeneralPath(Shape s)
根据任意 Shape 对象构造一个新 GeneralPath 对象。此路径的所有初始几何形状和缠绕规则均取自指定的 Shape 对象。

参数:
s - 指定的 Shape 对象
方法详细信息

moveTo

public void moveTo(float x,
                   float y)
通过移动到指定的坐标在路径中添加点。

参数:
x, y - 指定的坐标

lineTo

public void lineTo(float x,
                   float y)
通过绘制一条从当前坐标到新指定坐标的直线在路径中添加点。

参数:
x, y - 指定的坐标

quadTo

public void quadTo(float x1,
                   float y1,
                   float x2,
                   float y2)
通过绘制与当前坐标及坐标 (x2,y2) 都相交的 Quadratic 曲线,并将指定点 (x1, y1) 用作二次曲线参数控制点,将由两个新点定义的曲线段添加到路径中。

参数:
x1, y1 - 第一个二次曲线控制点的坐标
x2, y2 - 最后一个端点的坐标