模块  java.desktop
软件包  java.awt.geom

Class Path2D.Float

    • 构造方法摘要

      构造方法  
      构造器 描述
      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)
      构造一个新的单精度Path2D从任意物体Shape对象,由一个转化AffineTransform对象。
    • 方法摘要

      所有方法  实例方法 具体的方法 
      变量和类型 方法 描述
      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éier控制点,将由三个新点定义的曲线段添加到路径中。
      Rectangle2D getBounds2D()
      返回 Shape高精度和更精确的边界框,而不是 getBounds方法。
      PathIterator getPathIterator​(AffineTransform at)
      返回迭代器对象,该对象沿 Shape边界进行迭代,并提供对 Shape轮廓几何的访问。
      void lineTo​(double x, double y)
      通过从当前坐标绘制直线到以double精度指定的新指定坐标,将路径添加到路径。
      void lineTo​(float x, float y)
      通过从当前坐标绘制直线到以float精度指定的新指定坐标,将路径添加到路径。
      void moveTo​(double x, double y)
      通过移动到以double精度指定的指定坐标,向路径添加点。
      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转换此路径的几何。
    • 构造方法详细信息

      • Float

        public Float()
        构造一个新的空单精度 Path2D对象,其默认绕组规则为 Path2D.WIND_NON_ZERO
        从以下版本开始:
        1.6
      • Float

        public Float​(int rule)
        使用指定的缠绕规则构造一个新的空单精度 Path2D对象,以控制需要定义路径内部的操作。
        参数
        rule - 缠绕规则
        从以下版本开始:
        1.6
        另请参见:
        Path2D.WIND_EVEN_ODDPath2D.WIND_NON_ZERO
      • Float

        public Float​(int rule,
                     int initialCapacity)
        使用指定的缠绕规则和指定的初始容量构造一个新的空单精度Path2D对象来存储路径段。 此数字是关于将多少路径段添加到路径的初始猜测,但存储会根据需要进行扩展,以存储添加的任何路径段。
        参数
        rule - 缠绕规则
        initialCapacity - 路径中路径段数的估计值
        从以下版本开始:
        1.6
        另请参见:
        Path2D.WIND_EVEN_ODDPath2D.WIND_NON_ZERO
      • Float

        public Float​(Shape s)
        构造一个新的单精度Path2D从任意对象Shape对象。 此路径的所有初始几何体和缠绕规则均取自指定的Shape对象。
        参数
        s - 指定的 Shape对象
        从以下版本开始:
        1.6
      • Float

        public Float​(Shape s,
                     AffineTransform at)
        构造一个新的单精度Path2D从任意物体Shape对象,由一个转化AffineTransform对象。 此路径的所有初始几何体和缠绕规则均取自指定的Shape对象,并由指定的AffineTransform对象进行转换。
        参数
        s - 指定的 Shape对象
        at - 指定的 AffineTransform对象
        从以下版本开始:
        1.6
    • 方法详细信息

      • moveTo

        public final void moveTo​(double x,
                                 double y)
        通过移动到以double精度指定的指定坐标,向路径添加点。
        Specified by:
        moveTo在类 Path2D
        参数
        x - 指定的X坐标
        y - 指定的Y坐标
        从以下版本开始:
        1.6
      • moveTo

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

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

        参数
        x - 指定的X坐标
        y - 指定的Y坐标
        从以下版本开始:
        1.6
        另请参见:
        Path2D.moveTo(double, double)
      • lineTo

        public final void lineTo​(double x,
                                 double y)
        通过从当前坐标绘制直线到以double精度指定的新指定坐标,将路径添加到路径。
        Specified by:
        lineTo在类 Path2D
        参数
        x - 指定的X坐标
        y - 指定的Y坐标
        从以下版本开始:
        1.6
      • lineTo

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

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

        参数
        x - 指定的X坐标
        y - 指定的Y坐标
        从以下版本开始:
        1.6
        另请参见:
        Path2D.lineTo(double, double)
      • quadTo

        public final void quadTo​(double x1,
                                 double y1,
                                 double x2,
                                 double y2)
        通过绘制与当前坐标和指定坐标(x2,y2)相交的二次曲线,使用指定点(x1,y1)作为二次参数控制点,将由两个新点定义的曲线段添加到路径中。 所有坐标都以双精度指定。
        Specified by:
        quadToPath2D
        参数
        x1 - 二次控制点的X坐标
        y1 - 二次控制点的Y坐标
        x2 - 最终结束点的X坐标
        y2 - 最终结束点的Y坐标
        从以下版本开始:
        1.6
      • quadTo

        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坐标
        从以下版本开始:
        1.6
        另请参见:
        Path2D.quadTo(double, double, double, double)
      • curveTo

        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控制点,将由三个新点定义的曲线段添加到路径中。 所有坐标都以双精度指定。
        Specified by:
        curveToPath2D
        参数
        x1 - 第一个Bézier控制点的X坐标
        y1 - 第一个Bézier控制点的Y坐标
        x2 - 第二个Bézier控制点的X坐标
        y2 - 第二个Bézier控制点的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)相交的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坐标
        从以下版本开始:
        1.6
        另请参见:
        Path2D.curveTo(double, double, double, double, double, double)
      • append

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

        public final void transform​(AffineTransform at)
        使用指定的AffineTransform转换此路径的几何。 几何体在原位转换,永久地更改此对象定义的边界。
        Specified by:
        transform在类 Path2D
        参数
        at - 用于改造该区域的 AffineTransform
        从以下版本开始:
        1.6
      • getBounds2D

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

        请注意, definition of insideness可能会导致返回的bounds对象中可能不包含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)

        Specified by:
        getBounds2D接口 Shape
        结果
        的实例 Rectangle2D那是一个高精度边界框 Shape
        从以下版本开始:
        1.6
        另请参见:
        Shape.getBounds()
      • getPathIterator

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

        此方法每次调用返回一个新鲜PathIterator对象横穿的几何形状Shape从任何其他独立对象PathIterator在使用中在相同的时间对象。

        建议(但不能保证)实现Shape接口的对象隔离Shape迭代,这些迭代是在此类迭代期间可能对原始对象的几何体发生的任何更改。

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

        Specified by:
        getPathIterator接口 Shape
        参数
        at - 在迭代中返回时应用于坐标的可选 AffineTransform null如果需要未转换的坐标,则 null
        结果
        一个新的 PathIterator对象,它独立地遍历 Shape的几何。
        从以下版本开始:
        1.6
      • clone

        public final Object clone()
        创建与此对象相同的类的新对象。
        Specified by:
        clonePath2D
        结果
        这个实例的克隆。
        异常
        OutOfMemoryError - 如果内存不足。
        从以下版本开始:
        1.6
        另请参见:
        Cloneable