- java.lang.Object
-
- java.awt.geom.Path2D
-
- java.awt.geom.Path2D.Float
-
- All Implemented Interfaces:
-
Shape,Serializable,Cloneable
- 已知直接子类:
-
GeneralPath
- Enclosing class:
- Path2D
public static class Path2D.Float extends Path2D implements Serializable
Float类定义了一个几何路径,坐标存储在单精度浮点中。- 从以下版本开始:
- 1.6
- 另请参见:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.awt.geom.Path2D
Path2D.Double, Path2D.Float
-
-
Field Summary
-
Fields inherited from class java.awt.geom.Path2D
WIND_EVEN_ODD, WIND_NON_ZERO
-
-
构造方法摘要
构造方法 Constructor 描述 Float()构造一个新的空单精度Path2D对象,默认卷绕规则为Path2D.WIND_NON_ZERO。Float(int rule)使用指定的绕组规则构造新的空单精度Path2D对象,以控制需要定义路径内部的操作。Float(int rule, int initialCapacity)使用指定的卷绕规则和指定的初始容量构建新的空单精度Path2D对象,以存储路径段。Float(Shape s)构造一个新的单精度Path2D从任意对象Shape对象。Float(Shape s, AffineTransform at)从任意的27048273414922对象构造一个新的单精度Path2D对象,由一个AffineTransform对象转换。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 voidappend(PathIterator pi, boolean connect)将指定的PathIterator对象的几何附加到路径,可能将新几何体连接到具有线段的现有路径段。Objectclone()创建与此对象相同类的新对象。voidcurveTo(double x1, double y1, double x2, double y2, double x3, double y3)通过使用指定点(x1,y1)和(x2,y2)作为Bézier控制点(x1,y1)与当前坐标和指定坐标(x3,y3)相交的Bézier曲线,将一个由三个新点定义的曲线段添加到路径。voidcurveTo(float x1, float y1, float x2, float y2, float x3, float y3)通过绘制与当前坐标和指定坐标(x3,y3)相交的Bézier曲线,使用指定点(x1,y1)和(x2,y2)作为Bézier控制点,将一个由三个新点定义的曲线段添加到路径。Rectangle2DgetBounds2D()返回Shape比getBounds方法高精度和更准确的边界框。PathIteratorgetPathIterator(AffineTransform at)返回一个迭代器对象,它沿着Shape边界进行迭代,并提供对Shape大纲的几何形状的访问。voidlineTo(double x, double y)通过从当前坐标绘制直线到双精度指定的新指定坐标,向路径添加点。voidlineTo(float x, float y)通过从当前坐标绘制直线到浮点精度指定的新指定坐标,向路径添加点。voidmoveTo(double x, double y)通过移动到以双精度指定的指定坐标添加点到路径。voidmoveTo(float x, float y)通过移动到以float精度指定的指定坐标,向路径添加点。voidquadTo(double x1, double y1, double x2, double y2)通过绘制与当前坐标和指定坐标(x2,y2)相交的二次曲线,使用指定点(x1,y1)作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。voidquadTo(float x1, float y1, float x2, float y2)通过绘制与当前坐标和指定坐标(x2,y2)相交的二次曲线,使用指定点(x1,y1)作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。voidtransform(AffineTransform at)使用指定的AffineTransform转换此路径的几何。-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from 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
-
-
-
-
构造方法详细信息
-
Float
public Float()
构造一个新的空单精度Path2D对象,默认卷绕规则为Path2D.WIND_NON_ZERO。- 从以下版本开始:
- 1.6
-
Float
public Float(int rule)
使用指定的绕组规则构造新的空单精度Path2D对象,以控制需要定义路径内部的操作。- 参数
-
rule- 绕线规则 - 从以下版本开始:
- 1.6
- 另请参见:
-
Path2D.WIND_EVEN_ODD,Path2D.WIND_NON_ZERO
-
Float
public Float(int rule, int initialCapacity)构造新的空单精度Path2D对象,具有指定的绕组规则和指定的初始容量以存储路径段。 这个数字是关于将多少路径段添加到路径的初步猜测,但根据需要扩展存储,以存储添加的任何路径段。- 参数
-
rule- 绕线规则 -
initialCapacity- 路径中路径段数的估计 - 从以下版本开始:
- 1.6
- 另请参见:
-
Path2D.WIND_EVEN_ODD,Path2D.WIND_NON_ZERO
-
Float
public Float(Shape s)
构造一个新的单精度Path2D从任意对象Shape对象。 此路径的所有初始几何和绕组规则均取自指定的Shape对象。- 参数
-
s- 指定的Shape对象 - 从以下版本开始:
- 1.6
-
Float
public Float(Shape s, AffineTransform at)
从任意的Shape对象构造一个新的单精度Path2D对象,由一个AffineTransform对象转换。 此路径的所有初始几何和绕组规则均取自指定的Shape对象,并由指定的AffineTransform对象进行转换。- 参数
-
s- 指定的Shape对象 -
at- 指定的AffineTransform对象 - 从以下版本开始:
- 1.6
-
-
方法详细信息
-
moveTo
public final void moveTo(double x, double y)通过移动到以双精度指定的指定坐标添加点到路径。
-
moveTo
public final void moveTo(float x, float y)通过移动到以float精度指定的指定坐标,向路径添加点。该方法提供了基于
Path2D类的双精度moveTo()方法的单精度变量。- 参数
-
x- 指定的X坐标 -
y- 指定的Y坐标 - 从以下版本开始:
- 1.6
- 另请参见:
-
Path2D.moveTo(double, double)
-
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
- 另请参见:
-
Path2D.lineTo(double, double)
-
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
- 另请参见:
-
Path2D.quadTo(double, double, double, double)
-
curveTo
public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)通过绘制与当前坐标和指定坐标(x3,y3)相交的Bézier曲线,使用指定点(x1,y1)和(x2,y2)作为Bζ控制点,将一个由三个新点定义的曲线段添加到路径。 所有坐标均以双精度指定。
-
curveTo
public final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)通过绘制与当前坐标和指定坐标(x3,y3)相交的Bézier曲线,使用指定点(x1,y1)和(x2,y2)作为BÃzier控制点,将一个由三个新点定义的曲线段添加到路径。 所有坐标均以浮动精度指定。该方法提供了基于
Path2D类的双精度curveTo()方法的单精度变量。- 参数
-
x1- 第一个Bézier控制点的X坐标 -
y1- 第一个Bézier控制点的Y坐标 -
x2- 第二个Bézier控制点的X坐标 -
y2- 第二个Bézier控制点的Y坐标 -
x3- 最终终点的X坐标 -
y3- 最终终点的Y坐标 - 从以下版本开始:
- 1.6
- 另请参见:
-
Path2D.curveTo(double, double, double, double, double, double)
-
append
public final void append(PathIterator pi, boolean connect)
将指定的PathIterator对象的几何附加到路径,可能将新几何体连接到具有线段的现有路径段。 如果connect参数为true且路径不为空,则附加的Shape的几何中的任何初始moveToShape将转换为lineTo段。 如果这样的连接lineTo段的目的地坐标与当前打开的子路径的结束坐标匹配,那么该段被省略为多余的。 指定的Shape的绕组规则将被忽略,附加的几何体由为此路径指定的绕组规则控制。
-
transform
public final void transform(AffineTransform at)
使用指定的AffineTransform转换此路径的几何。 几何体被转换到位,永久地改变由该对象定义的边界。
-
getBounds2D
public final Rectangle2D getBounds2D()
返回Shape比getBounds方法更高精度和更准确的边界框。 请注意,不保证返回的Rectangle2D是封闭的最小边界框Shape,只表示Shape完全在指定的范围内Rectangle2D。 此方法返回的边界框通常比getBounds方法返回的getBounds更小,因为溢出问题永远不会失败,因为返回值可以是使用双精度值存储维度的Rectangle2D的实例。请注意, definition of insideness可能导致
bounds对象定义轮廓上的shape不能被视为包含在返回的bounds对象中的情况,但仅在原始shape中也未考虑这些点的情况下。如果
point是内部shape根据contains(point)方法,那么它必须是内部返回Rectangle2D界限根据对象contains(point)所述的方法bounds。 特别:shape.contains(p)需要bounds.contains(p)如果一个
point不在shape,那么它可能仍然包含在bounds对象中:bounds.contains(p)并不表示shape.contains(p)- Specified by:
-
getBounds2D在接口Shape - 结果
-
的实例
Rectangle2D那是一个高精度边界框Shape。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Shape.getBounds()
-
getPathIterator
public final PathIterator getPathIterator(AffineTransform at)
返回一个沿Shape边界迭代的迭代器对象,并提供对Shape大纲的几何形状的访问。 如果指定了可选的AffineTransform,则相应地转换迭代中返回的坐标。此方法每次调用返回一个新鲜
PathIterator对象横穿的几何形状Shape从任何其他独立对象PathIterator在使用中在相同的时间对象。建议但不能保证,实现
Shape接口的对象会隔离Shape迭代,Shape在此类迭代期间原始对象的几何可能发生的任何更改。此类的迭代器不是多线程安全的,这意味着
Path2D类不保证对此Path2D对象的几何的修改不会影响已经在处理的该几何的任何迭代。- Specified by:
-
getPathIterator在接口Shape - 参数
-
at- 要在迭代中返回时应用于坐标的可选AffineTransform,如果需要未转换的坐标,null - 结果
-
一个新的
PathIterator对象,它独立地遍历Shape的几何。 - 从以下版本开始:
- 1.6
-
clone
public final Object clone()
创建与此对象相同类的新对象。- Specified by:
-
clone中的Path2D - 结果
- 这个实例的一个克隆。
- 异常
-
OutOfMemoryError- 如果没有足够的内存 - 从以下版本开始:
- 1.6
- 另请参见:
-
Cloneable
-
-