模块 java.desktop

类 Path2D.Float

java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Float
所有已实现的接口:
Shape , Serializable , Cloneable
已知子类:
GeneralPath
封闭类:
Path2D

public static non-sealed class Path2D.Float extends Path2D implements Serializable
Float 类定义了一个几何路径,其坐标存储在单精度浮点数中。
自从:
1.6
参见:
  • 内部类总结

    在类 java.awt.geom.Path2D 中声明的嵌套类/接口

    Path2D.Double, Path2D.Float
  • 字段摘要

    在类 java.awt.geom.Path2D 中声明的字段

    WIND_EVEN_ODD, WIND_NON_ZERO
  • 构造方法总结

    构造方法
    构造方法
    描述
    构造一个新的空单精度 Path2D 对象,默认缠绕规则为 Path2D.WIND_NON_ZERO
    Float(int rule)
    使用指定的缠绕规则构造一个新的空单精度 Path2D 对象,以控制需要定义路径内部的操作。
    Float(int rule, int initialCapacity)
    构造一个新的空单精度 Path2D 对象,具有指定的缠绕规则和指定的初始容量以存储路径段。
    从任意 Shape 对象构造一个新的单精度 Path2D 对象。
    从任意 Shape 对象构造一个新的单精度 Path2D 对象,由 AffineTransform 对象转换。
  • 方法总结

    修饰符和类型
    方法
    描述
    final void
    append(PathIterator pi, boolean connect)
    将指定 PathIterator 对象的几何图形附加到路径,可能将新几何图形连接到具有线段的现有路径段。
    final Object
    创建一个与此对象属于同一类的新对象。
    final void
    curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
    通过绘制与当前坐标和指定坐标 (x3,y3) 相交的贝塞尔曲线,使用指定点 (x1,y1)(x2,y2) 作为贝塞尔控制点,将由三个新点定义的曲线段添加到路径。
    final void
    curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
    通过绘制与当前坐标和指定坐标 (x3,y3) 相交的贝塞尔曲线,使用指定点 (x1,y1)(x2,y2) 作为贝塞尔控制点,将由三个新点定义的曲线段添加到路径。
    返回 ShapegetBounds 方法更高精度和更准确的边界框。
    返回沿Shape 边界迭代并提供对Shape 轮廓几何形状的访问的迭代器对象。
    final void
    lineTo(double x, double y)
    通过从当前坐标到以双精度指定的新指定坐标绘制一条直线,向路径添加一个点。
    final void
    lineTo(float x, float y)
    通过从当前坐标到以浮点精度指定的新指定坐标绘制一条直线,向路径添加一个点。
    final void
    moveTo(double x, double y)
    通过移动到以双精度指定的指定坐标向路径添加一个点。
    final void
    moveTo(float x, float y)
    通过移动到以浮点精度指定的指定坐标向路径添加一个点。
    final void
    quadTo(double x1, double y1, double x2, double y2)
    通过使用指定点 (x1,y1) 作为二次参数控制点绘制与当前坐标和指定坐标 (x2,y2) 相交的二次曲线,将由两个新点定义的曲线段添加到路径。
    final void
    quadTo(float x1, float y1, float x2, float y2)
    通过使用指定点 (x1,y1) 作为二次参数控制点绘制与当前坐标和指定坐标 (x2,y2) 相交的二次曲线,将由两个新点定义的曲线段添加到路径。
    final void
    使用指定的 AffineTransform 转换此路径的几何形状。
    final void
    将此 Path2D 实例的容量修剪为其当前大小。

    在类 java.lang.Object 中声明的方法

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造方法详细信息

    • Float

      public Float()
      构造一个新的空单精度 Path2D 对象,默认缠绕规则为 Path2D.WIND_NON_ZERO
      自从:
      1.6
    • Float

      public Float(int rule)
      使用指定的缠绕规则构造一个新的空单精度 Path2D 对象,以控制需要定义路径内部的操作。
      参数:
      rule - 缠绕规则
      抛出:
      IllegalArgumentException - 如果 rule 既不是 Path2D.WIND_EVEN_ODD 也不是 Path2D.WIND_NON_ZERO
      自从:
      1.6
      参见:
    • Float

      public Float(int rule, int initialCapacity)
      构造一个新的空单精度 Path2D 对象,具有指定的缠绕规则和指定的初始容量以存储路径段。这个数字是关于将向路径添加多少路径段的初始猜测,但存储会根据需要扩展以存储添加的任何路径段。
      参数:
      rule - 缠绕规则
      initialCapacity - 路径中路径段数的估计
      抛出:
      IllegalArgumentException - 如果 rule 既不是 Path2D.WIND_EVEN_ODD 也不是 Path2D.WIND_NON_ZERO
      NegativeArraySizeException - 如果 initialCapacity 为负
      自从:
      1.6
      参见:
    • Float

      public Float(Shape  s)
      从任意 Shape 对象构造一个新的单精度 Path2D 对象。此路径的所有初始几何形状和缠绕规则均取自指定的 Shape 对象。
      参数:
      s - 指定的 Shape 对象
      抛出:
      NullPointerException - 如果 snull
      自从:
      1.6
    • Float

      public Float(Shape  s, AffineTransform  at)
      从任意 Shape 对象构造一个新的单精度 Path2D 对象,由 AffineTransform 对象转换。此路径的所有初始几何形状和缠绕规则均取自指定的 Shape 对象,并由指定的 AffineTransform 对象进行转换。
      参数:
      s - 指定的 Shape 对象
      at - 指定的 AffineTransform 对象
      抛出:
      NullPointerException - 如果 snull
      自从:
      1.6
  • 方法详情

    • trimToSize

      public final void trimToSize()
      从类复制的描述:Path2D
      将此 Path2D 实例的容量修剪为其当前大小。应用程序可以使用此操作来最小化路径的存储。
      指定者:
      trimToSize 在类 Path2D
    • moveTo

      public final void moveTo(double x, double y)
      通过移动到以双精度指定的指定坐标向路径添加一个点。
      指定者:
      moveTo 在类 Path2D
      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自从:
      1.6
    • moveTo

      public final void moveTo(float x, float y)
      通过移动到以浮点精度指定的指定坐标向路径添加一个点。

      此方法在基 Path2D 类上提供双精度 moveTo() 方法的单精度变体。

      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自从:
      1.6
      参见:
    • lineTo

      public final void lineTo(double x, double y)
      通过从当前坐标到以双精度指定的新指定坐标绘制一条直线,向路径添加一个点。
      指定者:
      lineTo 在类 Path2D
      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自从:
      1.6
    • lineTo

      public final void lineTo(float x, float y)
      通过从当前坐标到以浮点精度指定的新指定坐标绘制一条直线,向路径添加一个点。

      此方法在基 Path2D 类上提供双精度 lineTo() 方法的单精度变体。

      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自从:
      1.6
      参见:
    • quadTo

      public final void quadTo(double x1, double y1, double x2, double y2)
      通过使用指定点 (x1,y1) 作为二次参数控制点绘制与当前坐标和指定坐标 (x2,y2) 相交的二次曲线,将由两个新点定义的曲线段添加到路径。所有坐标均以双精度指定。
      指定者:
      quadTo 在类 Path2D
      参数:
      x1 - 二次控制点的 X 坐标
      y1 - 二次控制点的Y坐标
      x2 - 最终终点的X坐标
      y2 - 最终终点的Y坐标
      自从:
      1.6
    • quadTo

      public final void quadTo(float x1, float y1, float x2, float y2)
      通过使用指定点 (x1,y1) 作为二次参数控制点绘制与当前坐标和指定坐标 (x2,y2) 相交的二次曲线,将由两个新点定义的曲线段添加到路径。所有坐标都以浮点精度指定。

      此方法在基 Path2D 类上提供双精度 quadTo() 方法的单精度变体。

      参数:
      x1 - 二次控制点的 X 坐标
      y1 - 二次控制点的Y坐标
      x2 - 最终终点的X坐标
      y2 - 最终终点的Y坐标
      自从:
      1.6
      参见:
    • curveTo

      public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
      通过绘制与当前坐标和指定坐标 (x3,y3) 相交的贝塞尔曲线,使用指定点 (x1,y1)(x2,y2) 作为贝塞尔控制点,将由三个新点定义的曲线段添加到路径。所有坐标均以双精度指定。
      指定者:
      curveTo 在类 Path2D
      参数:
      x1 - 第一个贝塞尔控制点的 X 坐标
      y1 - 第一个贝塞尔控制点的 Y 坐标
      x2 - 第二个贝塞尔控制点的 X 坐标
      y2 - 第二个贝塞尔控制点的Y坐标
      x3 - 最终终点的X坐标
      y3 - 最终终点的Y坐标
      自从:
      1.6
    • curveTo

      public final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
      通过绘制与当前坐标和指定坐标 (x3,y3) 相交的贝塞尔曲线,使用指定点 (x1,y1)(x2,y2) 作为贝塞尔控制点,将由三个新点定义的曲线段添加到路径。所有坐标都以浮点精度指定。

      此方法在基 Path2D 类上提供双精度 curveTo() 方法的单精度变体。

      参数:
      x1 - 第一个贝塞尔控制点的 X 坐标
      y1 - 第一个贝塞尔控制点的 Y 坐标
      x2 - 第二个贝塞尔控制点的 X 坐标
      y2 - 第二个贝塞尔控制点的Y坐标
      x3 - 最终终点的X坐标
      y3 - 最终终点的Y坐标
      自从:
      1.6
      参见:
    • append

      public final void append(PathIterator  pi, boolean connect)
      将指定 PathIterator 对象的几何图形附加到路径,可能将新几何图形连接到具有线段的现有路径段。如果 connect 参数是 true 并且路径不为空,则附加的 Shape 几何中的任何初始 moveTo 将变成 lineTo 段。如果此类连接lineTo 段的目标坐标与当前打开的子路径的结束坐标匹配,则该段将被忽略为多余的。忽略指定 Shape 的缠绕规则,附加的几何形状受为此路径指定的缠绕规则约束。
      指定者:
      append 在类 Path2D
      参数:
      pi - PathIterator 其几何附加到此路径
      connect - 一个boolean,用于控制是否将初始 moveTo 段转换为 lineTo 段以将新几何图形连接到现有路径
      自从:
      1.6
    • transform

      public final void transform(AffineTransform  at)
      使用指定的 AffineTransform 转换此路径的几何形状。几何图形就地变换,这会永久更改此对象定义的边界。
      指定者:
      transform 在类 Path2D
      参数:
      at - 用于转换区域的 AffineTransform
      自从:
      1.6
    • getBounds2D

      public final Rectangle2D  getBounds2D()
      返回 ShapegetBounds 方法更高精度和更准确的边界框。请注意,不能保证返回的 Rectangle2D 是包围 Shape 的最小边界框,只能保证 Shape 完全位于指示的 Rectangle2D 内。此方法返回的边界框通常比 getBounds 方法返回的边界框更紧密,并且不会因溢出问题而失败,因为返回值可以是使用双精度值存储尺寸的 Rectangle2D 的实例。

      请注意,definition of insideness 可能导致 shape 定义轮廓上的点可能不被视为包含在返回的 bounds 对象中,但仅在这些点也不被视为包含在原始 shape 中的情况下。

      如果根据 contains(point) 方法 pointshape 内部,那么根据 boundscontains(point) 方法,它必须在返回的 Rectangle2D 边界对象内部。具体来说:

      shape.contains(p) 需要 bounds.contains(p)

      如果 point 不在 shape 内,那么它可能仍包含在 bounds 对象中:

      bounds.contains(p) 并不意味着 shape.contains(p)

      指定者:
      getBounds2D 在接口 Shape
      返回:
      Rectangle2D 的一个实例,它是 Shape 的高精度边界框。
      自从:
      1.6
      参见:
    • getPathIterator

      public final PathIterator  getPathIterator(AffineTransform  at)
      返回沿Shape 边界迭代并提供对Shape 轮廓几何形状的访问的迭代器对象。如果指定了可选的 AffineTransform ,则迭代中返回的坐标会相应地进行转换。

      每次调用此方法都会返回一个新的 PathIterator 对象,该对象独立于同时使用的任何其他 PathIterator 对象遍历 Shape 对象的几何形状。

      建议但不保证,实现 Shape 接口的对象将正在进行的迭代与此类迭代期间原始对象的几何形状可能发生的任何更改隔离开来。

      此类的迭代器不是多线程安全的,这意味着 Path2D 类不保证对此 Path2D 对象的几何图形的修改不会影响已经在处理中的该几何图形的任何迭代。

      指定者:
      getPathIterator 在接口 Shape
      参数:
      at - 一个可选的 AffineTransform 应用于在迭代中返回的坐标,或者 null 如果需要未转换的坐标
      返回:
      一个新的 PathIterator 对象,它独立地遍历 Shape 的几何结构。
      自从:
      1.6
    • clone

      public final Object  clone()
      创建一个与此对象属于同一类的新对象。
      指定者:
      clone 在类 Path2D
      返回:
      此实例的克隆。
      抛出:
      OutOfMemoryError - 如果内存不足。
      自从:
      1.6
      参见: