- 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 方法 描述 void
append(PathIterator pi, boolean connect)
将指定的PathIterator
对象的几何附加到路径,可能将新几何体连接到具有线段的现有路径段。Object
clone()
创建与此对象相同类的新对象。void
curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
通过使用指定点(x1,y1)
和(x2,y2)
作为Bézier控制点(x1,y1)
与当前坐标和指定坐标(x3,y3)
相交的Bézier曲线,将一个由三个新点定义的曲线段添加到路径。void
curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
通过绘制与当前坐标和指定坐标(x3,y3)
相交的Bézier曲线,使用指定点(x1,y1)
和(x2,y2)
作为Bézier控制点,将一个由三个新点定义的曲线段添加到路径。Rectangle2D
getBounds2D()
返回Shape
比getBounds
方法高精度和更准确的边界框。PathIterator
getPathIterator(AffineTransform at)
返回一个迭代器对象,它沿着Shape
边界进行迭代,并提供对Shape
大纲的几何形状的访问。void
lineTo(double x, double y)
通过从当前坐标绘制直线到双精度指定的新指定坐标,向路径添加点。void
lineTo(float x, float y)
通过从当前坐标绘制直线到浮点精度指定的新指定坐标,向路径添加点。void
moveTo(double x, double y)
通过移动到以双精度指定的指定坐标添加点到路径。void
moveTo(float x, float y)
通过移动到以float精度指定的指定坐标,向路径添加点。void
quadTo(double x1, double y1, double x2, double y2)
通过绘制与当前坐标和指定坐标(x2,y2)
相交的二次曲线,使用指定点(x1,y1)
作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。void
quadTo(float x1, float y1, float x2, float y2)
通过绘制与当前坐标和指定坐标(x2,y2)
相交的二次曲线,使用指定点(x1,y1)
作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。void
transform(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
的几何中的任何初始moveTo
Shape
将转换为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
-
-