java.lang.Object java.awt.geom.Path2D java.awt.geom.Path2D.Float
public static class Path2D.Float
Float
类定义了一条几何路径,它具有以单精度浮点值形式存储的坐标。
嵌套类摘要 |
---|
从类 java.awt.geom.Path2D 继承的嵌套类/接口 |
---|
Path2D.Double, Path2D.Float |
字段摘要 |
---|
从类 java.awt.geom.Path2D 继承的字段 |
---|
WIND_EVEN_ODD, WIND_NON_ZERO |
构造方法摘要 | |
---|---|
Path2D.Float() 根据 Path2D.WIND_NON_ZERO 的默认旋绕规则构造一个新的单精度空 Path2D 对象。 |
|
Path2D.Float(int rule) 根据指定旋绕规则构造一个新的单精度空 Path2D 对象,以控制需要定义路径内部的操作。 |
|
Path2D.Float(int rule, int initialCapacity) 根据指定旋绕规则和指定初始容量构造一个新的单精度空 Path2D 对象,以存储路径段。 |
|
Path2D.Float(Shape s) 根据任意 Shape 对象构造一个新的单精度 Path2D 对象。 |
|
Path2D.Float(Shape s, AffineTransform at) 根据 AffineTransform 对象变换的任意 Shape 对象构造一个新的单精度 Path2D 对象。 |
方法摘要 | |
---|---|
void |
append(PathIterator pi, boolean connect) 将指定 PathIterator 对象的几何形状添加到路径中,可能要使用一条线段将新几何形状连接到现有路径段。 |
Object |
clone() 创建一个与此对象具有相同类的新对象。 |
void |
curveTo(double x1, double y1, double x2, double y2, double x3, double y3) 通过绘制与当前坐标和指定坐标 (x3,y3) 都相交的 Bézier 曲线,并将指定点 (x1,y1) 和 (x2,y2) 用作 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() 返回一个高精度的、比 getBounds 方法更准确的 Shape 边界框。 |
PathIterator |
getPathIterator(AffineTransform at) 返回一个沿着 Shape 边界迭代并提供对 Shape 轮廓几何形状的访问的迭代器对象。 |
void |
lineTo(double x, double y) 通过绘制一条从当前坐标到新指定坐标(以双精度指定)的直线,将一个点添加到路径中。 |
void |
lineTo(float x, float y) 通过绘制一条从当前坐标到指定新坐标(以 float 精度指定)的直线,将一个点添加到路径中。 |
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 变换此路径的几何形状。 |
从类 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 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public Path2D.Float()
Path2D.WIND_NON_ZERO
的默认旋绕规则构造一个新的单精度空
Path2D
对象。
public Path2D.Float(int rule)
Path2D
对象,以控制需要定义路径内部的操作。
rule
- 旋绕规则
Path2D.WIND_EVEN_ODD
,
Path2D.WIND_NON_ZERO
public Path2D.Float(int rule, int initialCapacity)
Path2D
对象,以存储路径段。此数是对将添加到路径中的路径段数量的初始猜测,但存储量可以根据需要扩展,以存储添加的所有路径段。
rule
- 旋绕规则
initialCapacity
- 对路径中路径段数量的估计
Path2D.WIND_EVEN_ODD
,
Path2D.WIND_NON_ZERO
public Path2D.Float(Shape s)
Shape
对象构造一个新的单精度
Path2D
对象。此路径的所有初始几何形状和旋绕规则均取自指定的
Shape
对象。
s
- 指定的
Shape
对象
public Path2D.Float(Shape s, AffineTransform at)
AffineTransform
对象变换的任意
Shape
对象构造一个新的单精度
Path2D
对象。此路径的所有初始几何形状和旋绕规则均取自指定的
Shape
对象,并由指定的
AffineTransform
对象变换。
s
- 指定的
Shape
对象
at
- 指定的
AffineTransform
对象
方法详细信息 |
---|
public final void moveTo(double x, double y)
public final void moveTo(float x, float y)
此方法提供了基本 Path2D
类上的双精度 moveTo()
方法的单精度变体。
x
- 指定的 X 坐标
y
- 指定的 Y 坐标
Path2D.moveTo(double, double)
public final void lineTo(double x, double y)
x
- 指定的 X 坐标
y
- 指定的 Y 坐标
public final void lineTo(float x, float y)
此方法提供了基本 Path2D
类上的双精度 lineTo()
方法的单精度变体。
x
- 指定的 X 坐标
y
- 指定的 Y 坐标
Path2D.lineTo(double, double)
public final void quadTo(double x1, double y1, double x2, double y2)
(x2,y2)
都相交的二次曲线,并将指定点
(x1,y1)
用作二次曲线参数控制点,可以将由两个新点定义的曲线段添加到路径中。所有坐标都以双精度指定。
x1
- 二次曲线控制点的 X 坐标
y1
- 二次曲线控制点的 Y 坐标
x2
- 终端点的 X 坐标
y2
- 终端点的 Y 坐标
public final void quadTo(float x1, float y1, float x2, float y2)
(x2,y2)
都相交的二次曲线,并将指定点
(x1,y1)
用作二次曲线参数控制点,可以将由两个新点定义的曲线段添加到路径中。所有坐标都以 float 精度指定。
此方法提供了基本 Path2D
类上的双精度 quadTo()
方法的单精度变体。
x1
- 二次曲线控制点的 X 坐标
y1
- 二次曲线控制点的 Y 坐标
x2
- 终端点的 X 坐标
y2
- 终端点的 Y 坐标
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ézier 曲线的控制点,可以将由三个新点定义的曲线段添加到路径中。所有坐标都以双精度指定。
x1
- 第一个 Bézier 控制点的 X 坐标
y1
- 第一个 Bézier 控制点的 Y 坐标
x2
- 第二个 Bézier 控制点的 X 坐标
y2
- 第二个 Bézier 控制点的 Y 坐标
x3
- 终端点的 X 坐标
y3
- 终端点的 Y 坐标
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 曲线的控制点,可以将由三个新点定义的曲线段添加到路径中。所有坐标都以 float 精度指定。
此方法提供了基本 Path2D
类上的双精度 curveTo()
方法的单精度变体。
x1
- 第一个 Bézier 控制点的 X 坐标
y1
- 第一个 Bézier 控制点的 Y 坐标
x2
- 第二个 Bézier 控制点的 X 坐标
y2
- 第二个 Bézier 控制点的 Y 坐标
x3
- 终端点的 X 坐标
y3
- 终端点的 Y 坐标
public final void append(PathIterator pi, boolean connect)
PathIterator
对象的几何形状添加到路径中,可能要使用一条线段将新几何形状连接到现有路径段。如果
connect
参数为
true
且路径是非空的,则添加的
Shape
几何形状的所有初始
moveTo
将被转换为
lineTo
段。如果这种连接
lineTo
段的目标坐标与当前开放子路径的结束坐标匹配,那么该线段将被作为多余线段忽略。指定
Shape
的旋绕规则将被忽略,添加的几何形状由为此路径指定的旋绕规则来管理。
pi
- 其几何形状将被添加到此路径的
PathIterator
connect
- 一个 boolean 值,用于控制是否将初始
moveTo
段转换为
lineTo
段,从而将新几何形状连接到现有路径
public final void transform(AffineTransform at)
AffineTransform
变换此路径的几何形状。原地变换几何形状,它将永久更改由此对象定义的边界。
at
- 用于变换区域的
AffineTransform
public final Rectangle2D getBounds2D()
getBounds
方法更准确的
Shape
边界框。注意,不保证返回的
Rectangle2D
是包围
Shape
的最小边界框,只保证
Shape
完全位于指示的
Rectangle2D
中。此方法返回的边界框通常比
getBounds
方法返回的更紧密,而且永远不会因为溢出问题而出错,因为返回值可以是一个使用双精度值存储尺寸的
Rectangle2D
实例。
Shape
中的
getBounds2D
Rectangle2D
实例,它是
Shape
的高精度边界框。
Shape.getBounds()
public PathIterator getPathIterator(AffineTransform at)
Shape
边界迭代并提供对
Shape
轮廓几何形状的访问的迭代器对象。如果指定一个可选
AffineTransform
,则相应地转换迭代中返回的坐标。
每次调用此方法都会返回一个最新的、遍历 Shape
对象几何形状的 PathIterator
对象,该对象独立于其他所有同时使用的 PathIterator
对象。
建议但不保证实现 Shape
接口的对象将进行中的迭代与该迭代期间可能对原始对象几何形状所做的任何更改隔离开来。
此类的迭代器不是多线程安全的,这意味着该 Path2D
类不保证对此 Path2D
对象几何形状所作的修改不影响该几何形状已在处理中的迭代。
Shape
中的
getPathIterator
at
- 一个可选的
AffineTransform
,用于在迭代中返回的坐标,如果需要未转换的坐标,则返回
null
Shape
的几何形状的
PathIterator
对象。
public final Object clone()
OutOfMemoryError
- 如果没有足够的内存。
Cloneable