JavaTM 2 Platform
Standard Ed. 6

java.awt.geom
類別 Path2D

java.lang.Object
  繼承者 java.awt.geom.Path2D
所有已實作的介面:
Shape, Cloneable
直接已知子類別:
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 物件的幾何形狀添加到路徑中,可能要使用一條線段將新幾何形狀連接到現有路徑段。
abstract  Object clone()
          創建一個與此物件具有相同類別的新物件。
 void closePath()
          通過繪製一條向後延伸到最後一個 moveTo 的坐標的直線,封閉當前子路徑。
 boolean contains(double x, double y)
          測試指定坐標是否在 Shape 的邊界內。
 boolean contains(double x, double y, double w, double h)
          測試 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 的邊界內。
 boolean contains(Rectangle2D r)
          測試 Shape 內部是否完全包含指定的 Rectangle2D
 Shape createTransformedShape(AffineTransform at)
          返回一個表示此 Path2D 變換形式的新 Shape
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 曲線的控制點,可以將由三個新點定義的曲線段添加到路徑中。
 Rectangle getBounds()
          返回一個完全包圍 Shape 的整型 Rectangle
 Point2D getCurrentPoint()
          返回最近添加到路徑尾部的坐標(以 Point2D 物件形式)。
 PathIterator getPathIterator(AffineTransform at, double flatness)
          返回一個沿著 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)
          通過繪製一條從當前坐標到新指定坐標(以雙精度指定)的直線,將一個點添加到路徑中。
abstract  void moveTo(double x, double y)
          通過移動到指定坐標(以雙精度指定),將一個點添加到路徑中。
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 變換此路徑的幾何形狀。
 
從類別 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)
通過移動到指定坐標(以雙精度指定),將一個點添加到路徑中。

參數:
x - 指定的 X 坐標
y - 指定的 Y 坐標
從以下版本開始:
1.6

lineTo

public abstract void lineTo(double x,
                            double y)
通過繪製一條從當前坐標到新指定坐標(以雙精度指定)的直線,將一個點添加到路徑中。

參數:
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 物件的幾何形狀添加到路徑中,可能要使用一條線段將新幾何形狀連接到現有路徑段。如果 connect 參數為 true 且路徑是非空(null)的,則添加的 Shape 幾何形狀的所有初始 moveTo 將被轉換為 lineTo 段。如果這種連接 lineTo 段的目標坐標與當前開放子路徑的結束坐標比對,那麼該線段將被作為多餘線段忽略。指定 Shape 的旋繞規則將被忽略,添加的幾何形狀由為此路徑指定的旋繞規則來管理。

參數:
s - 其幾何形狀將被添加到此路徑的 Shape
connect - 一個 boolean 值,用於控制是否將初始 moveTo 段轉換為 lineTo 段,從而將新幾何形狀連接到現有路徑
從以下版本開始:
1.6

append

public abstract void append(PathIterator pi,
                            boolean connect)
將指定 PathIterator 物件的幾何形狀添加到路徑中,可能要使用一條線段將新幾何形狀連接到現有路徑段。如果 connect 參數為 true 且路徑是非空(null)的,則添加的 Shape 幾何形狀的所有初始 moveTo 將被轉換為 lineTo 段。如果這種連接 lineTo 段的目標坐標與當前開放子路徑的結束坐標比對,那麼該線段將被作為多餘線段忽略。指定 Shape 的旋繞規則將被忽略,添加的幾何形狀由為此路徑指定的旋繞規則來管理。

參數:
pi - 其幾何形狀將被添加到此路徑的 PathIterator
connect - 一個 boolean 值,用於控制是否將初始 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)
返回一個表示此 Path2D 變換形式的新 Shape。注意,沒有為此方法指定返回值的確切型別和坐標精度。該方法將返回一個 Shape,它所包含的變換的幾何形狀精度不小於此 Path2D 當前維持的精度,但它也不可能大於該精度。如果精度與結果中存儲量大小的權衡很重要,那麼應該使用 Path2D.FloatPath2D.Double 子類別中的一些便捷建構子,使選擇更明確。

參數:
at - 用於變換新 ShapeAffineTransform
返回:
新的 Shape,它使用指定的 AffineTransform 變換而來。
從以下版本開始:
1.6

getBounds

public final Rectangle getBounds()
返回一個完全包圍 Shape 的整型 Rectangle。注意,不保證返回的 Rectangle 是包圍 Shape 的最小邊界框,只保證 Shape 完全位於指示的 Rectangle 中。如果 Shape 超出了整數資料型別的有效範圍,則返回的 Rectangle 也可能不完全包圍 ShapegetBounds2D 方法由於在表示形式上具有更大的靈活性,所以通常返回更緊密的邊界框。

指定者:
介面 Shape 中的 getBounds
返回:
完全包圍 Shape 的整型 Rectangle
從以下版本開始:
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 坐標
返回:
如果指定的坐標在指定的 PathIterator 內部,則返回 true;否則返回 false
從以下版本開始:
1.6

contains

public static boolean contains(PathIterator pi,
                               Point2D p)
測試指定的 Point2D 是否在指定 PathIterator 的封閉邊界內。

此方法為 Shape 介面的實作程序提供了基本設施,以實作對 Shape.contains(Point2D) 方法的支持。

參數:
pi - 指定的 PathIterator
p - 指定的 Point2D
返回:
如果指定的坐標在指定 PathIterator 內,則返回 true;否則返回 false
從以下版本開始:
1.6

contains

public final boolean contains(double x,
                              double y)
測試指定坐標是否在 Shape 的邊界內。

指定者:
介面 Shape 中的 contains
參數:
x - 要測試的指定的 X 坐標
y - 要測試的指定的 Y 坐標
返回:
如果指定坐標在 Shape 邊界內,則返回 true;否則返回 false
從以下版本開始:
1.6

contains

public final boolean contains(Point2D p)
測試指定的 Point2D 是否在 Shape 的邊界內。

指定者:
介面 Shape 中的 contains
參數:
p - 要測試的指定的 Point2D
返回:
如果指定的 Point2DShape 邊界內,則返回 true;否則返回 false
從以下版本開始:
1.6

contains

public static boolean contains(PathIterator pi,
                               double x,
                               double y,
                               double w,
                               double h)
測試指定矩形區域是否完全在指定 PathIterator 的封閉邊界內。

此方法為 Shape 介面的實作程序提供了基本設施,以實作對 Shape.contains(double, double, double, double) 方法的支持。

在指定矩形區域與路徑段相交,但該路徑段不表示路徑內部和外部之間的邊界的情況下,此方法對象可能會謹慎地返回 false。如果這些線段是遵守 WIND_NON_ZERO 旋繞規則的路徑的一部分,或者這些線段反方向折回,從而兩組線段互相抵消且兩組線段間沒有任何外部區域,那麼這些線段可能完全位於路徑內部。要確定線段是否表示路徑內部的真實邊界需要大量的計算,這些計算涉及所有路徑段和旋繞規則,因此超出此實作的範圍。

參數:
pi - 指定的 PathIterator
x - 指定的 X 坐標
y - 指定的 Y 坐標
w - 指定矩形區域的寬度
h - 指定矩形區域的高度
返回:
如果指定的 PathIterator 套件含指定矩形區域,則返回 true;否則返回 false
從以下版本開始:
1.6

contains

public static boolean contains(PathIterator pi,
                               Rectangle2D r)
測試指定的 Rectangle2D 是否完全在指定 PathIterator 的封閉區域內。

此方法為 Shape 介面的實作程序提供了基本設施,以實作對 Shape.contains(Rectangle2D) 方法的支持。

在指定矩形區域與路徑段相交,但該路徑段不表示路徑內部和外部之間的邊界的情況下,此方法對象可能會謹慎地返回 false。如果這些線段是遵守 WIND_NON_ZERO 旋繞規則的路徑的一部分,或者這些線段反方向折回,從而兩組線段互相抵消且兩組線段間沒有任何外部區域,那麼這些線段可能完全位於路徑內部。要確定線段是否表示路徑內部的真實邊界需要大量的計算,這些計算涉及所有路徑段和旋繞規則,因此超出此實作的範圍。

參數:
pi - 指定的 PathIterator
r - 指定的 Rectangle2D
返回:
如果指定的 PathIterator 套件含指定的 Rectangle2D,則返回 true;否則返回 false
從以下版本開始:
1.6

contains

public final boolean contains(double x,
                              double y,
                              double w,
                              double h)
測試 Shape 內部是否完全包含指定矩形區域。矩形區域內的所有坐標都必須位於 Shape 中,才可以認為整個矩形區域包含在 Shape中。

在下列情況下,Shape.contains() 方法允許 Shape 實作謹慎地返回 false

這意味著對於某些 Shape,即使 Shape 套件含矩形區域,此方法也可能返回 false。如果需要更精確的答案,由於 Area 類別比大多數 Shape 物件更為準確地執行幾何計算,因此可以使用該類別。

在指定矩形區域與路徑段相交,但該路徑段不表示路徑內部和外部之間的邊界的情況下,此方法對象可能會謹慎地返回 false。如果這些線段是遵守 WIND_NON_ZERO 旋繞規則的路徑的一部分,或者這些線段反方向折回,從而兩組線段互相抵消且兩組線段間沒有任何外部區域,那麼這些線段可能完全位於路徑內部。要確定線段是否表示路徑內部的真實邊界需要大量的計算,這些計算涉及所有路徑段和旋繞規則,因此超出此實作的範圍。

指定者:
介面 Shape 中的 contains
參數:
x - 指定矩形區域左上角的 X 坐標
y - 指定矩形區域左上角的 Y 坐標
w - 指定矩形區域的寬度
h - 指定矩形區域的高度
返回:
如果 Shape 內部完全包含指定矩形區域,則返回 true;否則,如果 Shape 套件含矩形區域、intersects 方法返回 true 且執行包含計算代價太高,則返回 false
從以下版本開始:
1.6
另請參見:
Area, Shape.intersects(double, double, double, double)

contains

public final boolean contains(Rectangle2D r)
測試 Shape 內部是否完全包含指定的 Rectangle2D。在下列情況下,Shape.contains() 方法允許 Shape 實作謹慎地返回 false 這意味著對於某些 Shape,即使 Shape 套件含 Rectangle2D,此方法也可能返回 false。如果需要更精確的答案,由於 Area 類別比大多數 Shape 物件更為準確地執行幾何計算,因此可以使用該類別。

在指定矩形區域與路徑段相交,但該路徑段不表示路徑內部和外部之間的邊界的情況下,此方法對象可能會謹慎地返回 false。如果這些線段是遵守 WIND_NON_ZERO 旋繞規則的路徑的一部分,或者這些線段反方向折回,從而兩組線段互相抵消且兩組線段間沒有任何外部區域,那麼這些線段可能完全位於路徑內部。要確定線段是否表示路徑內部的真實邊界需要大量的計算,這些計算涉及所有路徑段和旋繞規則,因此超出此實作的範圍。

指定者:
介面 Shape 中的 contains
參數:
r - 指定的 Rectangle2D
返回:
如果 Shape 內部完全包含 Rectangle2D,則返回 true;否則,如果 Shape 套件含 Rectangle2Dintersects 方法返回 true 且執行包含計算代價太高,則返回 false
從以下版本開始:
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 - 指定直角坐標的高度
返回:
如果指定 PathIterator 和指定直角坐標集的內部相交,則返回 true;否則返回 false
從以下版本開始:
1.6

intersects

public static boolean intersects(PathIterator pi,
                                 Rectangle2D r)
測試指定 PathIterator 的內部是否與指定 Rectangle2D 的內部相交。

此方法為 Shape 介面的實作程序提供基本設施,以實作對 Shape.intersects(Rectangle2D) 方法的支持。

在指定矩形區域與路徑段相交,但該路徑段不表示路徑內部和外部之間的邊界的情況下,此方法對象可能會謹慎地返回 true。如果路徑的一些線段反方向折回,從而兩組線段互相抵消且兩組線段間沒有任何外部區域,則可能發生這種情況。要確定線段是否表示路徑內部的真實邊界需要大量的計算,這些計算涉及所有路徑段和旋繞規則,因此超出此實作的範圍。

參數:
pi - 指定的 PathIterator
r - 指定的 Rectangle2D
返回:
如果指定 PathIterator 和指定 Rectangle2D 的內部相交,則返回 true;否則返回 false
從以下版本開始:
1.6

intersects

public final boolean intersects(double x,
                                double y,
                                double w,
                                double h)
測試 Shape 內部是否與指定矩形區域的內部相交。如果任何一個點既包含在 Shape 內,又包含在指定矩形區域內,則認為矩形區域與 Shape 相交。

在下列情況下,Shape.intersects() 方法允許 Shape 實作謹慎地返回 true

這意味著對於某些 Shape,即使矩形區域沒有與該 Shape 相交,此方法也可能返回 true。如果需要更精確的答案,由於 Area 類別比大多數 Shape 物件更為準確地計算幾何相交,因此可以使用該類別。

在指定矩形區域與路徑段相交,但該路徑段不表示路徑內部和外部之間的邊界的情況下,此方法對象可能會謹慎地返回 true。如果路徑的一些線段反方向折回,從而兩組線段互相抵消且兩組線段間沒有任何外部區域,則可能發生這種情況。要確定線段是否表示路徑內部的真實邊界需要大量的計算,這些計算涉及所有路徑段和旋繞規則,因此超出此實作的範圍。

指定者:
介面 Shape 中的 intersects
參數:
x - 指定矩形區域左上角的 X 坐標
y - 指定矩形區域左上角的 Y 坐標
w - 指定矩形區域的寬度
h - 指定矩形區域的高度
返回:
如果 Shape 的內部區域與矩形的內部區域相交,或者相交的可能性很大且執行計算的代價太高,則返回 true;否則返回 false
從以下版本開始:
1.6
另請參見:
Area

intersects

public final boolean intersects(Rectangle2D r)
測試 Shape 內部是否與指定 Rectangle2D 內部相交。在下列情況下,Shape.intersects() 方法允許 Shape 實作謹慎地返回 true 這意味著對於某些 Shape,即使 Rectangle2D 沒有與該 Shape 相交,此方法也可能返回 true。如果需要更精確的答案,由於 Area 類別比大多數 Shape 物件更為準確地計算幾何相交,因此可以使用該類別。

在指定矩形區域與路徑段相交,但該路徑段不表示路徑內部和外部之間的邊界的情況下,此方法對象可能會謹慎地返回 true。如果路徑的一些線段反方向折回,從而兩組線段互相抵消且兩組線段間沒有任何外部區域,則可能發生這種情況。要確定線段是否表示路徑內部的真實邊界需要大量的計算,這些計算涉及所有路徑段和旋繞規則,因此超出此實作的範圍。

指定者:
介面 Shape 中的 intersects
參數:
r - 指定的 Rectangle2D
返回:
如果 Shape 內部與指定 Rectangle2D 內部相交,或者相交的可能性很大且執行計算的代價太高,則返回 true;否則返回 false
從以下版本開始:
1.6
另請參見:
Shape.intersects(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at,
                                    double flatness)
返回一個沿著 Shape 邊界迭代並提供對 Shape 輪廓幾何形狀的平面視圖存取的迭代器物件。

迭代器只返回 SEG_MOVETO、SEG_LINETO 和 SEG_CLOSE 點型別。

如果指定一個可選 AffineTransform,則相應地轉換迭代中返回的坐標。

flatness 參數控制曲線段分段的數量,指定轉換的不平曲線上任一點能夠偏離返回的變平路徑段的最大距離。注意,變平路徑的精度限制可能稍微受到影響,使非常小的變平參數作為較大的值來處理。如果有這樣的限制,那麼該限制是由使用的特定實作定義的。

每次調用此方法都會返回一個最新的、遍歷 Shape 物件幾何形狀的 PathIterator 物件,該物件獨立於其他所有同時使用的 PathIterator 物件。

建議但不保證實作 Shape 介面的物件將進行中的迭代與該迭代期間可能對原始物件幾何形狀所做的任何更改隔離開來。

此類別的迭代器不是多執行緒安全的,這意味著此 Path2D 類別不保證對此 Path2D 物件幾何形狀所作的修改不會影響該幾何形狀已在處理中的迭代。

指定者:
介面 Shape 中的 getPathIterator
參數:
at - 一個可選 AffineTransform,用於在迭代中返回的坐標,如果需要未轉換的坐標,則返回 null
flatness - 用來近似曲線段的直線段偏離原始曲線上任一點的最大距離
返回:
一個新的、獨立地遍歷 Shape 幾何形狀的平面視圖的 PathIterator
從以下版本開始:
1.6

clone

public abstract Object clone()
創建一個與此物件具有相同類別的新物件。

覆寫:
類別 Object 中的 clone
返回:
此實例的一個副本。
拋出:
OutOfMemoryError - 如果沒有足夠的記憶體。
從以下版本開始:
1.6
另請參見:
Cloneable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only