java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Double
- 所有已实现的接口:
Shape,Serializable,Cloneable
- 封闭类:
Path2D
Double 类定义了一个几何路径,其坐标存储在双精度浮点数中。
- 自从:
- 1.6
- 参见:
-
内部类总结
在类 java.awt.geom.Path2D 中声明的嵌套类/接口
Path2D.Double, Path2D.Float -
字段摘要
在类 java.awt.geom.Path2D 中声明的字段
WIND_EVEN_ODD, WIND_NON_ZERO -
构造方法总结
构造方法构造方法描述Double()构造一个新的空双精度Path2D对象,默认缠绕规则为Path2D.WIND_NON_ZERO。Double(int rule) 使用指定的缠绕规则构造一个新的空双精度Path2D对象,以控制需要定义路径内部的操作。Double(int rule, int initialCapacity) 用指定的绕组规则和指定的初始容量构造一个新的空双精度Path2D对象来存储路径段。从任意Shape对象构造一个新的双精度Path2D对象。Double(Shape s, AffineTransform at) -
方法总结
修饰符和类型方法描述final voidappend(PathIterator pi, boolean connect) 将指定PathIterator对象的几何图形附加到路径,可能将新几何图形连接到具有线段的现有路径段。final Objectclone()创建一个与此对象属于同一类的新对象。final voidcurveTo(double x1, double y1, double x2, double y2, double x3, double y3) 通过绘制与当前坐标和指定坐标(x3,y3)相交的贝塞尔曲线,使用指定点(x1,y1)和(x2,y2)作为贝塞尔控制点,将由三个新点定义的曲线段添加到路径。final Rectangle2D返回Shape比getBounds方法更高精度和更准确的边界框。final PathIterator返回沿Shape边界迭代并提供对Shape轮廓几何形状的访问的迭代器对象。final voidlineTo(double x, double y) 通过从当前坐标到以双精度指定的新指定坐标绘制一条直线,向路径添加一个点。final voidmoveTo(double x, double y) 通过移动到以双精度指定的指定坐标向路径添加一个点。final voidquadTo(double x1, double y1, double x2, double y2) 通过使用指定点(x1,y1)作为二次参数控制点绘制与当前坐标和指定坐标(x2,y2)相交的二次曲线,将由两个新点定义的曲线段添加到路径。final void使用指定的AffineTransform转换此路径的几何形状。final void将此 Path2D 实例的容量修剪为其当前大小。在类 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
-
构造方法详细信息
-
Double
public Double()构造一个新的空双精度Path2D对象,默认缠绕规则为Path2D.WIND_NON_ZERO。- 自从:
- 1.6
-
Double
public Double(int rule) 使用指定的缠绕规则构造一个新的空双精度Path2D对象,以控制需要定义路径内部的操作。- 参数:
rule- 缠绕规则- 抛出:
IllegalArgumentException- 如果rule既不是Path2D.WIND_EVEN_ODD也不是Path2D.WIND_NON_ZERO- 自从:
- 1.6
- 参见:
-
Double
public Double(int rule, int initialCapacity) 用指定的绕组规则和指定的初始容量构造一个新的空双精度Path2D对象来存储路径段。这个数字是关于路径中有多少路径段的初始猜测,但存储会根据需要扩展以存储添加到此路径的任何路径段。- 参数:
rule- 缠绕规则initialCapacity- 路径中路径段数的估计- 抛出:
IllegalArgumentException- 如果rule既不是Path2D.WIND_EVEN_ODD也不是Path2D.WIND_NON_ZERONegativeArraySizeException- 如果initialCapacity为负- 自从:
- 1.6
- 参见:
-
Double
- 参数:
s- 指定的Shape对象- 抛出:
NullPointerException- 如果s是null- 自从:
- 1.6
-
Double
从任意Shape对象构造一个新的双精度Path2D对象,由AffineTransform对象转换。此路径的所有初始几何形状和缠绕规则均取自指定的Shape对象,并由指定的AffineTransform对象进行转换。- 参数:
s- 指定的Shape对象at- 指定的AffineTransform对象- 抛出:
NullPointerException- 如果s是null- 自从:
- 1.6
-
-
方法详情
-
trimToSize
public final void trimToSize()从类复制的描述:Path2D将此 Path2D 实例的容量修剪为其当前大小。应用程序可以使用此操作来最小化路径的存储。- 指定者:
trimToSize在类Path2D中
-
moveTo
public final void moveTo(double x, double y) 通过移动到以双精度指定的指定坐标向路径添加一个点。 -
lineTo
public final void lineTo(double x, double y) 通过从当前坐标到以双精度指定的新指定坐标绘制一条直线,向路径添加一个点。 -
quadTo
public final void quadTo(double x1, double y1, double x2, double y2) 通过使用指定点(x1,y1)作为二次参数控制点绘制与当前坐标和指定坐标(x2,y2)相交的二次曲线,将由两个新点定义的曲线段添加到路径。所有坐标均以双精度指定。 -
curveTo
public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3) 通过绘制与当前坐标和指定坐标(x3,y3)相交的贝塞尔曲线,使用指定点(x1,y1)和(x2,y2)作为贝塞尔控制点,将由三个新点定义的曲线段添加到路径。所有坐标均以双精度指定。 -
append
将指定PathIterator对象的几何图形附加到路径,可能将新几何图形连接到具有线段的现有路径段。如果connect参数是true并且路径不为空,则附加的Shape几何中的任何初始moveTo将变成lineTo段。如果此类连接lineTo段的目标坐标与当前打开的子路径的结束坐标匹配,则该段将被忽略为多余的。忽略指定Shape的缠绕规则,附加的几何形状受为此路径指定的缠绕规则约束。 -
transform
使用指定的AffineTransform转换此路径的几何形状。几何图形就地变换,这会永久更改此对象定义的边界。 -
getBounds2D
返回Shape比getBounds方法更高精度和更准确的边界框。请注意,不能保证返回的Rectangle2D是包围Shape的最小边界框,只能保证Shape完全位于指示的Rectangle2D内。此方法返回的边界框通常比getBounds方法返回的边界框更紧密,并且不会因溢出问题而失败,因为返回值可以是使用双精度值存储尺寸的Rectangle2D的实例。请注意,definition of insideness 可能导致
shape定义轮廓上的点可能不被视为包含在返回的bounds对象中,但仅在这些点也不被视为包含在原始shape中的情况下。如果根据
contains(point)方法point在shape内部,那么根据bounds的contains(point)方法,它必须在返回的Rectangle2D边界对象内部。具体来说:shape.contains(p)需要bounds.contains(p)如果
point不在shape内,那么它可能仍包含在bounds对象中:bounds.contains(p)并不意味着shape.contains(p)- 指定者:
getBounds2D在接口Shape中- 返回:
Rectangle2D的一个实例,它是Shape的高精度边界框。- 自从:
- 1.6
- 参见:
-
getPathIterator
返回沿Shape边界迭代并提供对Shape轮廓几何形状的访问的迭代器对象。如果指定了可选的AffineTransform,则迭代中返回的坐标会相应地进行转换。每次调用此方法都会返回一个新的
PathIterator对象,该对象独立于同时使用的任何其他PathIterator对象遍历Shape对象的几何形状。建议但不保证,实现
Shape接口的对象将正在进行的迭代与此类迭代期间原始对象的几何形状可能发生的任何更改隔离开来。此类的迭代器不是多线程安全的,这意味着
Path2D类不保证对此Path2D对象的几何图形的修改不会影响已经在处理中的该几何图形的任何迭代。- 指定者:
getPathIterator在接口Shape中- 参数:
at- 一个AffineTransform- 返回:
-
一个新的
PathIterator沿着这个Shape的边界迭代并提供访问这个Shape的轮廓的几何形状 - 自从:
- 1.6
-
clone
创建一个与此对象属于同一类的新对象。- 指定者:
clone在类Path2D中- 返回:
- 此实例的克隆。
- 抛出:
OutOfMemoryError- 如果内存不足。- 自从:
- 1.6
- 参见:
-