- java.lang.Object
-
- java.awt.geom.Path2D
-
- 已知直接子类:
-
Path2D.Double
,Path2D.Float
public abstract class Path2D extends Object implements Shape, Cloneable
Path2D
类提供简单而灵活的形状,表示任意几何路径。 它可以完全代表PathIterator
接口可以迭代的任何路径,包括它的所有段类型和绕组规则,并且它实现了Shape
接口的所有基本命中测试方法。处理可以使用浮点精度表示和使用的数据时,请使用
Path2D.Float
。 对于需要精度或双精度范围的数据,请使用Path2D.Double
。Path2D
提供了几何路径的基本构造和管理所需的那些设施以及上述接口的实现,几乎没有增加的解释。 如果操作封闭几何形状的内部超出简单的命中测试是有用的,那么Area
类提供了专门针对封闭数字的附加功能。 虽然两个类名义上都实现了Shape
界面,但它们的目的不同,它们共同提供了两个有用的几何形状视图,其中Path2D
主要处理由路径段形成的轨迹,Area
更多地处理2D几何空间的封闭区域的解释和操作。PathIterator
接口具有构成路径的段类型的更详细描述,以及控制如何确定路径内部或外部的区域的缠绕规则。- 从以下版本开始:
- 1.6
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
Path2D.Double
Double
类定义了一个几何路径,其坐标以双精度浮点存储。static class
Path2D.Float
Float
类定义了一个几何路径,其坐标存储在单精度浮点中。
-
字段汇总
字段 变量和类型 字段 描述 static int
WIND_EVEN_ODD
用于确定路径内部的偶数绕组规则。static int
WIND_NON_ZERO
用于确定路径内部的非零缠绕规则。
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract void
append(PathIterator pi, boolean connect)
将指定的PathIterator
对象的几何图形追加到路径,可能将新几何图形连接到具有线段的现有路径段。void
append(Shape s, boolean connect)
将指定的Shape
对象的几何图形追加到路径,可能Shape
新几何图形连接到带有线段的现有路径段。abstract Object
clone()
创建与此对象相同的类的新对象。void
closePath()
通过将直线绘制回最后一个moveTo
的坐标来关闭当前子路径。boolean
contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。boolean
contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。static boolean
contains(PathIterator pi, double x, double y)
测试指定的坐标是否在指定的PathIterator
的闭合边界内。static boolean
contains(PathIterator pi, double x, double y, double w, double h)
测试指定的矩形区域是否完全在指定的PathIterator
的封闭边界内。static boolean
contains(PathIterator pi, Point2D p)
测试指定Point2D
在指定的封闭边界内PathIterator
。static boolean
contains(PathIterator pi, Rectangle2D r)
测试指定Rectangle2D
是完全指定的封闭边界内PathIterator
。boolean
contains(Point2D p)
测试指定Point2D
是的边界内Shape
,如所描述的definition of insideness 。boolean
contains(Rectangle2D r)
测试Shape
的内部Shape
完全包含指定的Rectangle2D
。Shape
createTransformedShape(AffineTransform at)
返回一个新Shape
表示此的转换版本Path2D
。abstract void
curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
通过绘制与当前坐标和指定坐标(x3,y3)
相交的B?zier曲线,使用指定的点(x1,y1)
和(x2,y2)
作为Béier控制点,将由三个新点定义的曲线段添加到路径中。Rectangle
getBounds()
返回一个整数Rectangle
完全包围Shape
。Point2D
getCurrentPoint()
返回最近添加到路径末尾的坐标作为Point2D
对象。PathIterator
getPathIterator(AffineTransform at, double flatness)
返回迭代器对象,该对象沿Shape
边界进行迭代,并提供对Shape
轮廓几何体的Shape
平视图的访问。int
getWindingRule()
返回填充样式缠绕规则。boolean
intersects(double x, double y, double w, double h)
测试Shape
的内部是否与指定矩形区域的内部相交。static boolean
intersects(PathIterator pi, double x, double y, double w, double h)
测试指定的PathIterator
的内部是否与指定的一组直角坐标的内部相交。static boolean
intersects(PathIterator pi, Rectangle2D r)
测试指定的内部PathIterator
相交指定的内部Rectangle2D
。boolean
intersects(Rectangle2D r)
测试Shape
的内部是否与指定的Rectangle2D
的内部相交。abstract void
lineTo(double x, double y)
通过从当前坐标绘制直线到以double精度指定的新指定坐标,将路径添加到路径。abstract void
moveTo(double x, double y)
通过移动到以double精度指定的指定坐标,向路径添加点。abstract void
quadTo(double x1, double y1, double x2, double y2)
通过绘制与当前坐标和指定坐标(x2,y2)
相交的二次曲线,使用指定点(x1,y1)
作为二次参数控制点,将由两个新点定义的曲线段添加到路径中。void
reset()
将路径重置为空。void
setWindingRule(int rule)
将此路径的缠绕规则设置为指定值。abstract void
transform(AffineTransform at)
使用指定的AffineTransform
转换此路径的几何。abstract void
trimToSize()
将此Path2D实例的容量调整为其当前大小。-
声明方法的类 java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
声明方法的接口 java.awt.Shape
getBounds2D, getPathIterator
-
-
-
-
字段详细信息
-
WIND_EVEN_ODD
public static final int WIND_EVEN_ODD
用于确定路径内部的偶数绕组规则。- 从以下版本开始:
- 1.6
- 另请参见:
-
PathIterator.WIND_EVEN_ODD
, 常数字段值
-
WIND_NON_ZERO
public static final int WIND_NON_ZERO
用于确定路径内部的非零缠绕规则。- 从以下版本开始:
- 1.6
- 另请参见:
-
PathIterator.WIND_NON_ZERO
, 常数字段值
-
-
方法详细信息
-
moveTo
public abstract void moveTo(double x, double y)
通过移动到以double精度指定的指定坐标,向路径添加点。- 参数
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 - 从以下版本开始:
- 1.6
-
lineTo
public abstract void lineTo(double x, double y)
通过从当前坐标绘制直线到以double精度指定的新指定坐标,将路径添加到路径。- 参数
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 - 从以下版本开始:
- 1.6
-
quadTo
public abstract void quadTo(double x1, double y1, double x2, double y2)
通过绘制与当前坐标和指定坐标(x2,y2)
相交的二次曲线,使用指定点(x1,y1)
作为二次参数控制点,将由两个新点定义的曲线段添加到路径。 所有坐标都以双精度指定。- 参数
-
x1
- 二次控制点的X坐标 -
y1
- 二次控制点的Y坐标 -
x2
- 最终结束点的X坐标 -
y2
- 最终终点的Y坐标 - 从以下版本开始:
- 1.6
-
curveTo
public abstract 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坐标 - 从以下版本开始:
- 1.6
-
closePath
public final void closePath()
通过将一条直线绘制回最后一个moveTo
的坐标来关闭当前子路径。 如果路径已经关闭,则此方法无效。- 从以下版本开始:
- 1.6
-
append
public final void append(Shape s, boolean connect)
将指定的Shape
对象的几何图形追加到路径,可能Shape
新几何图形连接到具有线段的现有路径段。 如果connect
参数为true
且路径不为空,则附加的Shape
的几何中的任何初始moveTo
将变为lineTo
段。 如果目的地这种连接的坐标lineTo
段匹配当前打开的子路径,则段被省略多余的结束坐标。 忽略指定的Shape
的缠绕规则,并且附加的几何图形由为此路径指定的缠绕规则控制。- 参数
-
s
-Shape
其几何图形附加到此路径 -
connect
- 一个布尔值,用于控制是否将初始moveTo
段转换为lineTo
段以将新几何图形连接到现有路径 - 从以下版本开始:
- 1.6
-
append
public abstract void append(PathIterator pi, boolean connect)
将指定的PathIterator
对象的几何图形追加到路径,可能会将新几何图形连接到带有线段的现有路径段。 如果connect
参数为true
且路径不为空,则附加的Shape
的几何中的任何初始moveTo
将变为lineTo
段。 如果这样的连接lineTo
段的目标坐标与当前打开的子路径的结束坐标匹配,则该段被省略为多余的。 忽略指定的Shape
的缠绕规则,并且附加的几何图形由为此路径指定的缠绕规则控制。- 参数
-
pi
- 其几何图形附加到此路径的PathIterator
-
connect
- 一个布尔值,用于控制是否将初始moveTo
段转换为lineTo
段以将新几何图形连接到现有路径 - 从以下版本开始:
- 1.6
-
getWindingRule
public final int getWindingRule()
返回填充样式缠绕规则。- 结果
- 表示当前缠绕规则的整数。
- 从以下版本开始:
- 1.6
- 另请参见:
-
WIND_EVEN_ODD
,WIND_NON_ZERO
,setWindingRule(int)
-
setWindingRule
public final void setWindingRule(int rule)
将此路径的缠绕规则设置为指定值。- 参数
-
rule
- 表示指定绕组规则的整数 - 异常
-
IllegalArgumentException
- 如果rule
不是WIND_EVEN_ODD
或WIND_NON_ZERO
- 从以下版本开始:
- 1.6
- 另请参见:
-
getWindingRule()
-
getCurrentPoint
public final Point2D getCurrentPoint()
返回最近添加到路径末尾的坐标作为Point2D
对象。- 结果
-
包含路径结束坐标的
Point2D
对象,如果路径中没有点,null
。 - 从以下版本开始:
- 1.6
-
reset
public final void reset()
将路径重置为空。 追加位置被设置回路径的开头,并且忘记了所有坐标和点类型。- 从以下版本开始:
- 1.6
-
transform
public abstract void transform(AffineTransform at)
使用指定的AffineTransform
转换此路径的几何。 几何体在原位转换,永久地更改此对象定义的边界。- 参数
-
at
- 用于转换区域的AffineTransform
- 从以下版本开始:
- 1.6
-
createTransformedShape
public final Shape createTransformedShape(AffineTransform at)
返回一个新的Shape
表示此Path2D
的转换版本。 请注意,此方法未指定返回值的确切类型和坐标精度。 该方法将返回一个Shape,该Shape包含的变换几何体的精度不低于当前维护的Path2D
,但它也可能不包含更多精度。 如果结果中精度与存储大小的权衡很重要,则应使用Path2D.Float
和Path2D.Double
子类中的便捷构造函数来明确选择。- 参数
-
at
-AffineTransform
用于转换新的Shape
。 - 结果
-
一个新的
Shape
,转换为指定的AffineTransform
。 - 从以下版本开始:
- 1.6
-
getBounds
public final Rectangle getBounds()
返回一个整数Rectangle
完全包围Shape
。 请注意,不保证返回的Rectangle
是最小的边框包围Shape
,只表示Shape
完全在指定的范围内Rectangle
。 如果Shape
溢出整数数据类型的有限范围,则返回的Rectangle
也可能无法完全包含Shape
。getBounds2D
方法通常返回更严格的边界框,因为它具有更强的表示灵活性。请注意, definition of insideness可能会导致4663204939526定义轮廓上的
shape
可能不被视为包含在返回的bounds
对象中,但仅限于原始shape
未包含这些点的情况。如果
point
是内部shape
根据contains(point)
方法,那么它必须是内部返回Rectangle
界限根据对象contains(point)
所述的方法bounds
。 特别:shape.contains(x,y)
需要bounds.contains(x,y)
如果
point
不在shape
,则它可能仍包含在bounds
对象中:bounds.contains(x,y)
并不shape.contains(x,y)
- Specified by:
-
getBounds
,界面Shape
- 结果
-
整数
Rectangle
,完全包含Shape
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Shape.getBounds2D()
-
contains
public static boolean contains(PathIterator pi, double x, double y)
测试指定的坐标是否在指定的PathIterator
的闭合边界内。此方法为
Shape
接口的实现者提供了基本功能,以实现对Shape.contains(double, double)
方法的支持。- 参数
-
pi
- 指定的PathIterator
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 - 结果
-
true
如果指定的坐标在指定的PathIterator
; 否则为false
- 从以下版本开始:
- 1.6
-
contains
public static boolean contains(PathIterator pi, Point2D p)
测试指定Point2D
在指定的封闭边界内PathIterator
。此方法为
Shape
接口的实现者提供了基本功能,以实现对Shape.contains(Point2D)
方法的支持。- 参数
-
pi
- 指定的PathIterator
-
p
- 指定的Point2D
- 结果
-
true
如果指定的坐标在指定的PathIterator
; 否则为false
- 从以下版本开始:
- 1.6
-
contains
public final boolean contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。
-
contains
public final boolean contains(Point2D p)
测试指定Point2D
是的边界内Shape
,如所描述的definition of insideness 。
-
contains
public static boolean contains(PathIterator pi, double x, double y, double w, double h)
测试指定的矩形区域是否完全在指定的PathIterator
的封闭边界内。此方法为
Shape
接口的实现者提供了基本工具,以实现对Shape.contains(double, double, double, double)
方法的支持。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有绕组规则的路径的一部分,或者如果这些段在相反方向上回缩使得两组段彼此抵消而没有任何外部区域落在它们之间,则这些段可以完全位于路径的内部。他们。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- 参数
-
pi
- 指定的PathIterator
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果指定的PathIterator
包含指定的矩形区域; 否则为false
。 - 从以下版本开始:
- 1.6
-
contains
public static boolean contains(PathIterator pi, Rectangle2D r)
测试指定Rectangle2D
是完全指定的封闭边界内PathIterator
。此方法为
Shape
接口的实现者提供了基本功能,以实现对Shape.contains(Rectangle2D)
方法的支持。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有绕组规则的路径的一部分,或者如果这些段在相反方向上被回缩 ,使得这两个段彼此抵消而没有任何外部区域落在它们之间,则这些段可以完全位于路径的内部。他们。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- 参数
-
pi
- 指定的PathIterator
-
r
- 指定的Rectangle2D
- 结果
-
true
如果指定的PathIterator
包含指定的Rectangle2D
; 否则为false
。 - 从以下版本开始:
- 1.6
-
contains
public final boolean contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。 摆在矩形区域内必须将内在于所有的坐标Shape
整个矩形区域被认为包含内Shape
。Shape.contains()
方法允许Shape
实施保守地返回false
:-
intersect
方法返回true
和 - 用于确定
Shape
是否完全包含矩形区域的计算非常昂贵。
Shapes
即使Shape
包含矩形区域,此方法也可能返回false
。Area
类比大多数Shape
对象执行更精确的几何计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有绕组规则的路径的一部分,或者如果这些段在相反方向上回缩使得两组段彼此抵消而没有任何外部区域落在它们之间,则这些段可以完全位于路径的内部。他们。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- Specified by:
-
contains
,界面Shape
- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果内部Shape
完全包含指定矩形区域;false
否则或者,如果Shape
包含矩形区域并且intersects
方法返回true
并且包含计算将太昂贵而无法执行。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Area
,Shape.intersects(double, double, double, double)
-
-
contains
public final boolean contains(Rectangle2D r)
测试Shape
的内部Shape
完全包含指定的Rectangle2D
。Shape.contains()
方法允许Shape
实施保守地返回false
时:-
intersect
方法返回true
和 - 用于确定
Shape
是否完全包含Rectangle2D
的计算非常昂贵。
Shapes
这种方法也可能返回false
即使Shape
包含Rectangle2D
。Area
类比大多数Shape
对象执行更精确的几何计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有绕组规则的路径的一部分,或者如果这些段在相反方向上回缩使得两组段彼此抵消而没有任何外部区域落在它们之间,则这些段可以完全位于路径的内部。他们。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- Specified by:
-
contains
,界面Shape
- 参数
-
r
- 指定的Rectangle2D
- 结果
-
true
如果内部Shape
完全包含Rectangle2D
;false
否则,或者,如果Shape
包含Rectangle2D
并且intersects
方法返回true
并且包含计算将太昂贵而无法执行。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Shape.contains(double, double, double, double)
-
-
intersects
public static boolean intersects(PathIterator pi, double x, double y, double w, double h)
测试指定的PathIterator
的内部是否与指定的一组直角坐标的内部相交。此方法为
Shape
接口的实现者提供了基本工具,以实现对Shape.intersects(double, double, double, double)
方法的支持。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些区段在相反方向上回缩使得两组区段彼此抵消而在它们之间没有任何内部区域,则可能发生这种情况。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- 参数
-
pi
- 指定的PathIterator
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 -
w
- 指定直角坐标的宽度 -
h
- 指定直角坐标的高度 - 结果
-
true
如果指定的PathIterator
与指定的一组直角坐标的内部相互交叉; 否则为false
。 - 从以下版本开始:
- 1.6
-
intersects
public static boolean intersects(PathIterator pi, Rectangle2D r)
测试指定的内部PathIterator
相交指定的内部Rectangle2D
。此方法为
Shape
接口的实现者提供了基本功能,以实现对Shape.intersects(Rectangle2D)
方法的支持。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些区段在相反方向上回缩使得两组区段彼此抵消而在它们之间没有任何内部区域,则可能发生这种情况。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- 参数
-
pi
- 指定的PathIterator
-
r
- 指定的Rectangle2D
- 结果
-
true
如果指定的PathIterator
和指定的PathIterator
的内部Rectangle2D
交叉; 否则为false
。 - 从以下版本开始:
- 1.6
-
intersects
public final boolean intersects(double x, double y, double w, double h)
测试Shape
的内部是否与指定矩形区域的内部相交。 矩形区域被认为是交叉的Shape
如果任何点被包含在双方的内部Shape
和指定的矩形区域。Shape.intersects()
方法允许Shape
实施保守地返回true
时:- 矩形区域与
Shape
交叉的概率很高,但是 - 精确确定这个交叉点的计算非常昂贵。
Shapes
这种方法也可能返回true
即使矩形区域没有相交Shape
。Area
类比大多数Shape
对象执行更精确的几何交叉计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些区段在相反方向上回缩使得两组区段彼此抵消而在它们之间没有任何内部区域,则可能发生这种情况。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- Specified by:
-
intersects
,界面Shape
- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果Shape
的内部与矩形区域的内部相交,或者两者都很可能相交并且交叉计算的成本太高而无法执行; 否则为false
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Area
- 矩形区域与
-
intersects
public final boolean intersects(Rectangle2D r)
测试Shape
的内部是否与指定的Rectangle2D
的内部相交。Shape.intersects()
方法允许Shape
实现在Shape
情况下保守地返回true
:-
Rectangle2D
和Shape
交叉的概率很高,但是 - 精确确定这个交叉点的计算非常昂贵。
Shapes
这种方法也可能返回true
即使Rectangle2D
不相交Shape
。Area
类比大多数Shape
对象执行更精确的几何交集计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的一段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些区段在相反方向上回缩使得两组区段彼此抵消而在它们之间没有任何内部区域,则可能发生这种情况。 为了确定段是否代表路径内部的真实边界,将需要涉及路径的所有段和绕组规则的大量计算,因此超出了该实现的范围。
- Specified by:
-
intersects
,界面Shape
- 参数
-
r
- 指定的Rectangle2D
- 结果
-
true
如果Shape
的内部与指定的Rectangle2D
的内部相交,或者两者都很可能相交并且交叉计算的成本太高而无法执行; 否则为false
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Shape.intersects(double, double, double, double)
-
-
getPathIterator
public final PathIterator getPathIterator(AffineTransform at, double flatness)
返回迭代器对象,该对象沿Shape
边界进行迭代,并提供对Shape
轮廓几何体的Shape
平视图的访问。迭代器仅返回SEG_MOVETO,SEG_LINETO和SEG_CLOSE点类型。
如果指定了可选的
AffineTransform
,则会相应地转换迭代中返回的坐标。弯曲段的细分量由
flatness
参数控制,该参数指定未平坦变换曲线上的任何点可以偏离返回的平坦路径段的最大距离。 请注意,可能会默默地施加对展平路径精度的限制,从而导致非常小的展平参数被视为较大的值。 此限制(如果有)由所使用的特定实现定义。每次调用此方法都会返回一个新的
PathIterator
对象,该对象独立于同时使用的任何其他PathIterator
对象遍历Shape
对象几何。建议但不能保证实现
Shape
接口的对象隔离Shape
迭代,这些迭代是在此类迭代期间可能对原始对象的几何体发生的任何更改。此类的迭代器不是多线程安全的,这意味着此
Path2D
类不保证对此Path2D
对象的几何的修改不会影响已在进行中的该几何的任何迭代。- Specified by:
-
getPathIterator
in interfaceShape
- 参数
-
at
- 可选的AffineTransform
应用于迭代中返回的坐标,如果需要未转换的坐标则null
-
flatness
- 允许线段用于近似弯曲段的最大距离偏离原始曲线上的任何点 - 结果
-
一个新的
PathIterator
独立地横穿的几何形状的平面视图Shape
。 - 从以下版本开始:
- 1.6
-
clone
public abstract Object clone()
创建与此对象相同的类的新对象。- 重写:
-
clone
类Object
- 结果
- 这个实例的克隆。
- 异常
-
OutOfMemoryError
- 如果内存不足。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Cloneable
-
trimToSize
public abstract void trimToSize()
将此Path2D实例的容量调整为其当前大小。 应用程序可以使用此操作来最小化路径的存储。- 从以下版本开始:
- 10
-
-