java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Float
- 所有已实现的接口:
-
Shape,Serializable,Cloneable
- 直接已知的子类:
-
GeneralPath
- 封装类:
-
Path2D
Float类定义了一个几何路径,其中的坐标以单精度浮点数存储。
- 自1.6版本起:
- 1.6
- 另请参阅:
-
Nested Class Summary
Nested classes/interfaces declared in class java.awt.geom.Path2D
Path2D.Double, Path2D.Float -
Field Summary
Fields declared in class java.awt.geom.Path2D
WIND_EVEN_ODD, WIND_NON_ZERO -
Constructor Summary
ConstructorsConstructorDescriptionFloat()构造一个新的空的单精度Path2D对象,其默认绕组规则为Path2D.WIND_NON_ZERO。Float(int rule) 构造一个新的空的单精度Path2D对象,其指定绕组规则用于控制需要定义路径内部的操作。Float(int rule, int initialCapacity) 构造一个新的空的单精度Path2D对象,其指定绕组规则和指定的初始容量用于存储路径段。从任意Shape对象构造一个新的单精度Path2D对象。Float(Shape s, AffineTransform at) 从任意Shape对象构造一个新的单精度Path2D对象,通过AffineTransform对象进行变换。 -
Method Summary
Modifier and TypeMethodDescriptionfinal voidappend(PathIterator pi, boolean connect) 将指定PathIterator对象的几何形状附加到路径中,可能使用线段将新几何形状连接到现有路径段。final Objectclone()创建与此对象相同类的新对象。final voidcurveTo(double x1, double y1, double x2, double y2, double x3, double y3) 添加一个曲线段,由三个新点定义,通过绘制贝塞尔曲线将当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)和(x2,y2)作为贝塞尔控制点。final voidcurveTo(float x1, float y1, float x2, float y2, float x3, float y3) 添加一个曲线段,由三个新点定义,通过绘制贝塞尔曲线将当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)和(x2,y2)作为贝塞尔控制点。final Rectangle2D返回Shape的高精度和更准确的边界框,比getBounds方法更准确。final PathIterator返回一个迭代器对象,沿着Shape边界进行迭代,并提供对Shape轮廓几何的访问。final voidlineTo(double x, double y) 通过从当前坐标到双精度指定的新坐标绘制直线来向路径添加一个点。final voidlineTo(float x, float y) 通过从当前坐标到浮点精度指定的新坐标绘制直线来向路径添加一个点。final voidmoveTo(double x, double y) 通过移动到双精度指定的坐标来向路径添加一个点。final voidmoveTo(float x, float y) 通过移动到浮点精度指定的坐标来向路径添加一个点。final voidquadTo(double x1, double y1, double x2, double y2) 通过绘制二次曲线,将当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次参数控制点,向路径添加一个曲线段。final voidquadTo(float x1, float y1, float x2, float y2) 通过绘制二次曲线,将当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次参数控制点,向路径添加一个曲线段。final void使用指定的AffineTransform对象转换此路径的几何形状。final void将此Path2D实例的容量修剪到其当前大小。Methods declared in class java.awt.geom.Path2D
append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRule
-
Constructor Details
-
Float
public Float()构造一个新的空的单精度Path2D对象,其默认绕组规则为Path2D.WIND_NON_ZERO。- 自1.6版本起:
- 1.6
-
Float
public Float(int rule) 构造一个新的空的单精度Path2D对象,其指定绕组规则用于控制需要定义路径内部的操作。- 参数:
-
rule- 绕组规则 - 抛出:
-
IllegalArgumentException- 如果rule既不是Path2D.WIND_EVEN_ODD也不是Path2D.WIND_NON_ZERO - 自1.6版本起:
- 1.6
- 另请参阅:
-
Float
public Float(int rule, int initialCapacity) 构造一个新的空的单精度Path2D对象,其指定绕组规则和指定的初始容量用于存储路径段。这个数字是对将要添加到路径中的路径段数量的初始猜测,但根据需要扩展存储以存储添加的任何路径段。- 参数:
-
rule- 绕组规则 -
initialCapacity- 路径中路径段数量的估计值 - 抛出:
-
IllegalArgumentException- 如果rule既不是Path2D.WIND_EVEN_ODD也不是Path2D.WIND_NON_ZERO -
NegativeArraySizeException- 如果initialCapacity为负数 - 自1.6版本起:
- 1.6
- 另请参阅:
-
Float
从任意Shape对象构造一个新的单精度Path2D对象。此路径的所有初始几何和绕组规则都来自指定的Shape对象。- 参数:
-
s- 指定的Shape对象 - 抛出:
-
NullPointerException- 如果s为null - 自1.6版本起:
- 1.6
-
Float
从任意Shape对象构造一个新的单精度Path2D对象,通过AffineTransform对象进行变换。此路径的所有初始几何和绕组规则都来自指定的Shape对象,并由指定的AffineTransform对象进行变换。- 参数:
-
s- 指定的Shape对象 -
at- 指定的AffineTransform对象 - 抛出:
-
NullPointerException- 如果s为null - 自1.6版本起:
- 1.6
-
-
Method Details
-
trimToSize
public final void trimToSize()从类中复制的描述:Path2D将此Path2D实例的容量修剪到其当前大小。应用程序可以使用此操作来最小化路径的存储。- 指定者:
-
trimToSize在类Path2D
-
moveTo
public final void moveTo(double x, double y) 通过移动到双精度指定的坐标来向路径添加一个点。 -
moveTo
public final void moveTo(float x, float y) 通过移动到浮点精度指定的坐标来向路径添加一个点。此方法提供了基本
Path2D类上双精度moveTo()方法的单精度变体。- 参数:
-
x- 指定的X坐标 -
y- 指定的Y坐标 - 自1.6版本起:
- 1.6
- 另请参阅:
-
lineTo
public final void lineTo(double x, double y) 通过从当前坐标到双精度指定的新坐标绘制直线来向路径添加一个点。 -
lineTo
public final void lineTo(float x, float y) 添加一个点到路径,通过从当前坐标到指定的新坐标(以浮点精度指定)画一条直线。此方法提供了基本
Path2D类上双精度lineTo()方法的单精度变体。- 参数:
-
x- 指定的X坐标 -
y- 指定的Y坐标 - 自从:
- 1.6
- 参见:
-
quadTo
public final void quadTo(double x1, double y1, double x2, double y2) 通过绘制一个二次曲线段,由两个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次曲线的控制点。所有坐标均以双精度指定。 -
quadTo
public final void quadTo(float x1, float y1, float x2, float y2) 通过绘制一个二次曲线段,由两个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次曲线的控制点。所有坐标均以浮点精度指定。此方法提供了基本
Path2D类上双精度quadTo()方法的单精度变体。- 参数:
-
x1- 二次控制点的X坐标 -
y1- 二次控制点的Y坐标 -
x2- 最终端点的X坐标 -
y2- 最终端点的Y坐标 - 自从:
- 1.6
- 参见:
-
curveTo
public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3) 通过绘制一个三次贝塞尔曲线段,由三个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)和(x2,y2)作为贝塞尔控制点。所有坐标均以双精度指定。 -
curveTo
public final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3) 通过绘制一个三次贝塞尔曲线段,由三个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)和(x2,y2)作为贝塞尔控制点。所有坐标均以浮点精度指定。此方法提供了基本
Path2D类上双精度curveTo()方法的单精度变体。- 参数:
-
x1- 第一个贝塞尔控制点的X坐标 -
y1- 第一个贝塞尔控制点的Y坐标 -
x2- 第二个贝塞尔控制点的X坐标 -
y2- 第二个贝塞尔控制点的Y坐标 -
x3- 最终端点的X坐标 -
y3- 最终端点的Y坐标 - 自从:
- 1.6
- 参见:
-
append
将指定的PathIterator对象的几何形状附加到路径,可能使用一条线段将新几何形状连接到现有路径段。如果connect参数为true且路径不为空,则附加的Shape的几何中的任何初始moveTo都会转换为lineTo段。如果这样一个连接的lineTo段的目标坐标与当前打开子路径的结束坐标匹配,则该段将被省略为多余的。忽略指定Shape的绕组规则,附加的几何由为此路径指定的绕组规则控制。 -
transform
使用指定的AffineTransform转换此路径的几何。几何将就地转换,从而永久更改此对象定义的边界。 -
getBounds2D
返回Shape的高精度和更准确的边界框,比getBounds方法更准确。请注意,不能保证返回的Rectangle2D是包围Shape的最小边界框,只能保证Shape完全位于指示的Rectangle2D内。此方法返回的边界框通常比getBounds方法返回的边界框更紧凑,并且永远不会因溢出问题而失败,因为返回值可以是使用双精度值存储尺寸的Rectangle2D的实例。请注意,内部定义的定义可能导致定义的形状轮廓上的点可能不被认为包含在返回的
bounds对象中,但只有在这些点也不被认为包含在原始shape中的情况下才是如此。如果一个
point根据contains(point)方法在shape内部,那么根据bounds的contains(point)方法,它必须在返回的Rectangle2D边界对象内部。具体来说:shape.contains(p)要求bounds.contains(p)如果一个
point不在shape内部,那么它可能仍然包含在bounds对象中:bounds.contains(p)不意味着shape.contains(p)- 由以下指定:
-
getBounds2D在接口Shape - 返回:
-
Shape的高精度边界框的实例。 - 自从:
- 1.6
- 参见:
-
getPathIterator
返回一个迭代器对象,沿着Shape边界迭代,并提供对Shape轮廓几何的访问。如果指定了可选的AffineTransform,则迭代中返回的坐标将相应地进行转换。每次调用此方法都会返回一个新的
PathIterator对象,独立于同时使用的任何其他PathIterator对象遍历Shape对象的几何。建议但不保证实现
Shape接口的对象将正在进行的迭代与在这些迭代期间可能发生的对原始对象几何的任何更改隔离开来。此类的迭代器不是多线程安全的,这意味着
Path2D类不保证对此Path2D对象的几何的修改不会影响已经在进行的该几何的任何迭代。- 由以下指定:
-
getPathIterator在接口Shape - 参数:
-
at- 可选的AffineTransform,用于在迭代中返回的坐标上应用转换,如果希望使用未转换的坐标,则为null - 返回:
-
一个新的
PathIterator对象,独立遍历Shape的几何。 - 自从:
- 1.6
-
clone
创建与此对象相同类的新对象。- 指定者:
-
clone在类Path2D - 返回:
- 此实例的克隆。
- 抛出:
-
OutOfMemoryError- 如果内存不足。 - 自:
- 1.6
- 参见:
-