public static class Path2D.Float extends Path2D implements Serializable
Float类定义了一个几何路径,坐标存储在单精度浮点中。
Path2D.Double, Path2D.FloatWIND_EVEN_ODD, WIND_NON_ZERO| Constructor and Description |
|---|
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)
从任意的 Shape对象构造一个新的单精度Path2D对象,由AffineTransform对象转换。
|
| Modifier and Type | Method and Description |
|---|---|
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)
(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)
(x3,y3) Bézier曲线,使用指定点
(x1,y1)和
(x2,y2)作为Bézier控制点,将一个由三个新点定义的曲线段添加到路径。
|
Rectangle2D |
getBounds2D()
Shape的
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)
(x2,y2) ,使用指定点
(x1,y1)作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。
|
void |
quadTo(float x1, float y1, float x2, float y2)
通过绘制与当前坐标和指定坐标(x2,y2)
(x2,y2) ,使用指定点
(x1,y1)作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。
|
void |
transform(AffineTransform at)
使用指定的 AffineTransform 转换此路径的几何。
|
append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRulepublic Float()
Path2D对象,默认绕组规则为
Path2D.WIND_NON_ZERO 。
public Float(int rule)
Path2D对象,以控制需要定义路径内部的操作。
rule - 绕线规则
Path2D.WIND_EVEN_ODD ,
Path2D.WIND_NON_ZERO
public Float(int rule,
int initialCapacity)
Path2D对象,具有指定的绕组规则和指定的初始容量以存储路径段。
这个数字是关于将多少路径段添加到路径的初步猜测,但根据需要扩展存储,以存储添加的任何路径段。
rule - 绕线规则
initialCapacity - 路径中路径段数量的估计
Path2D.WIND_EVEN_ODD ,
Path2D.WIND_NON_ZERO
public Float(Shape s)
Path2D从任意对象Shape对象。
该路径的所有初始几何和绕组规则均取自指定的Shape对象。
s - 指定的
Shape对象
public Float(Shape s, AffineTransform at)
Shape对象构造一个新的单精度Path2D对象,由AffineTransform对象转换。
此路径的所有初始几何和绕组规则均取自指定的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)
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)作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。
所有坐标均以双精度指定。
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坐标
Path2D.quadTo(double, double, double, double)
public final void curveTo(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
(x1,y1)和(x2,y2)作为Bézier控制点(x1,y1)与当前坐标和指定坐标(x3,y3) (x3,y3) Bézier曲线,将一个由三个新点定义的曲线段添加到路径。
所有坐标均以双精度指定。
public final void curveTo(float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
(x1,y1)和(x2,y2)作为Bézier控制点(x1,y1)与当前坐标和指定坐标(x3,y3) (x3,y3) Bézier曲线,将一个由三个新点定义的曲线段添加到路径。
所有坐标均以浮动精度指定。
该方法提供了基于Path2D类的双精度curveTo()方法的单精度变量。
x1 - 第一个Bézier控制点的X坐标
y1 - 第一个Bézier控制点的Y坐标
x2 - 第二个Bézier控制点的X坐标
y2 - 第二个Bézier控制点的Y坐标
x3 - 最终终点的X坐标
y3 - 最终终点的Y坐标
Path2D.curveTo(double, double, double, double, double, double)
public final void append(PathIterator pi, boolean connect)
PathIterator对象的几何附加到路径,可能将新几何体连接到具有线段的现有路径段。
如果connect参数是true ,并且路径不为空,则附加的Shape的几何中的任何初始的moveTo变成lineTo段。
如果这种连接lineTo段的目标坐标与当前打开的子路径的结束坐标匹配,那么该段被省略为多余的。
指定的卷绕规则Shape被忽略,并且在所附的几何形状由该路径所指定的缠绕规则支配。
public final void transform(AffineTransform at)
AffineTransform 转换此路径的几何。
几何体被转换到位,永久地改变由该对象定义的边界。
public final Rectangle2D getBounds2D()
Shape比getBounds方法更高精度和更准确的边界框。
需要注意的是没有保证返回Rectangle2D是最小的边框包围Shape ,只表示Shape完全在指定的范围内Rectangle2D 。
通过此方法返回的边界框通常比通过返回的更紧密getBounds方法,而且永远不会因为溢出问题,因为返回值可以是实例Rectangle2D一个使用双精度值存储尺寸。
请注意, definition of insideness可能会导致在返回的bounds对象中不能将shape定义大纲上的shape纳入考虑的情况,但只有在原始shape中也未考虑这些点的情况下。
如果一个point是在shape内,根据contains(point)方法,那么它必须在返回的Rectangle2D边界内的对象根据contains(point)方法的bounds 。 特别:
shape.contains(p)要求bounds.contains(p)
如果point不在shape ,那么它可能仍然包含在bounds对象中:
bounds.contains(p)并不表示shape.contains(p)
getBounds2D在界面
Shape
Rectangle2D那是一个高精度边界框
Shape 。
Shape.getBounds()
public final PathIterator getPathIterator(AffineTransform at)
Shape边界进行迭代,并提供对Shape大纲的几何形状的访问。
如果指定了可选的AffineTransform,则相应地转换迭代中返回的坐标。
每次调用此方法将返回一个新的PathIterator对象,该对象可以独立于同时使用的任何其他PathIterator对象Shape对象的几何。
建议但不能保证,实现Shape接口的对象会隔离正在进行的迭代,这些迭代可能是在这种迭代期间原始对象的几何可能发生的任何更改。
该类的迭代器不是多线程安全的,这意味着Path2D类不保证对此Path2D对象的几何的Path2D不会影响已经在处理的该几何的任何迭代。
getPathIterator在界面
Shape
at - 要在迭代中返回时应用于
at的可选
AffineTransform ,如果需要未转换的
null ,则为null
PathIterator对象,它独立地遍历的几何形状
Shape 。
public final Object clone()
clone在类别
Path2D
OutOfMemoryError - 如果没有足够的内存
Cloneable
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.