JavaTM 2 Platform
Standard Ed. 6

java.awt.geom
類別 Path2D.Double

java.lang.Object
  繼承者 java.awt.geom.Path2D
      繼承者 java.awt.geom.Path2D.Double
所有已實作的介面:
Shape, Serializable, Cloneable
正在封閉類別:
Path2D

public static class Path2D.Double
extends Path2D
implements Serializable

Double 類別定義了一條幾何路徑,它具有以雙精度浮點值形式存儲的坐標。

從以下版本開始:
1.6
另請參見:
序列化表格

巢狀類別摘要
 
從類別 java.awt.geom.Path2D 繼承的巢狀類別/介面
Path2D.Double, Path2D.Float
 
欄位摘要
 
從類別 java.awt.geom.Path2D 繼承的欄位
WIND_EVEN_ODD, WIND_NON_ZERO
 
建構子摘要
Path2D.Double()
          根據 Path2D.WIND_NON_ZERO 的預設旋繞規則建構一個新的雙精度空 Path2D 物件。
Path2D.Double(int rule)
          根據指定旋繞規則建構一個新的雙精度空 Path2D 物件,以控制需要定義路徑內部的操作。
Path2D.Double(int rule, int initialCapacity)
          根據指定旋繞規則和指定初始容量建構一個新的雙精度空 Path2D 物件,以存儲路徑段。
Path2D.Double(Shape s)
          根據任意 Shape 物件建構一個新的雙精度 Path2D 物件。
Path2D.Double(Shape s, AffineTransform at)
          根據由 AffineTransform 物件變換的任意 Shape 物件建構一個新的雙精度 Path2D 物件。
 
方法摘要
 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 曲線的控制點,可以將由三個新點定義的曲線段添加到路徑中。
 Rectangle2D getBounds2D()
          返回一個高精度的、比 getBounds 方法更準確的 Shape 邊界框。
 PathIterator getPathIterator(AffineTransform at)
          返回一個沿著 Shape 邊界迭代並提供對 Shape 輪廓幾何形狀的存取的迭代器物件。
 void lineTo(double x, double y)
          通過繪製一條從當前坐標到新指定坐標(以雙精度指定)的直線,將一個點添加到路徑中。
 void moveTo(double x, double y)
          通過移動到指定坐標(以雙精度指定),將一個點添加到路徑中。
 void quadTo(double x1, double y1, double x2, double y2)
          通過繪製與當前坐標和指定坐標 (x2,y2) 都相交的二次曲線,並將指定點 (x1,y1) 用作二次曲線參數控制點,可以將由兩個新點定義的曲線段添加到路徑中。
 void transform(AffineTransform at)
          使用指定的 AffineTransform 變換此路徑的幾何形狀。
 
從類別 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
 
從類別 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

Path2D.Double

public Path2D.Double()
根據 Path2D.WIND_NON_ZERO 的預設旋繞規則建構一個新的雙精度空 Path2D 物件。

從以下版本開始:
1.6

Path2D.Double

public Path2D.Double(int rule)
根據指定旋繞規則建構一個新的雙精度空 Path2D 物件,以控制需要定義路徑內部的操作。

參數:
rule - 旋繞規則
從以下版本開始:
1.6
另請參見:
Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO

Path2D.Double

public Path2D.Double(int rule,
                     int initialCapacity)
根據指定旋繞規則和指定初始容量建構一個新的雙精度空 Path2D 物件,以存儲路徑段。此數是對路徑中的路徑段數量的初始猜測,但存儲量可以根據需要擴展,以存儲添加到此路徑的所有路徑段。

參數:
rule - 旋繞規則
initialCapacity - 對路徑中路徑段數量的估計
從以下版本開始:
1.6
另請參見:
Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO

Path2D.Double

public Path2D.Double(Shape s)
根據任意 Shape 物件建構一個新的雙精度 Path2D 物件。此路徑的所有初始幾何形狀和旋繞規則均取自指定的 Shape 物件。

參數:
s - 指定的 Shape 物件
從以下版本開始:
1.6

Path2D.Double

public Path2D.Double(Shape s,
                     AffineTransform at)
根據由 AffineTransform 物件變換的任意 Shape 物件建構一個新的雙精度 Path2D 物件。此路徑的所有初始幾何形狀和旋繞規則均取自指定的 Shape 物件,並由指定的 AffineTransform 物件變換。

參數:
s - 指定的 Shape 物件
at - 指定的 AffineTransform 物件
從以下版本開始:
1.6
方法詳細資訊

moveTo

public final void moveTo(double x,
                         double y)
通過移動到指定坐標(以雙精度指定),將一個點添加到路徑中。

指定者:
類別 Path2D 中的 moveTo
參數:
x - 指定的 X 坐標
y - 指定的 Y 坐標
從以下版本開始:
1.6

lineTo

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

指定者:
類別 Path2D 中的 lineTo
參數:
x - 指定的 X 坐標
y - 指定的 Y 坐標
從以下版本開始:
1.6

quadTo

public final void quadTo(double x1,
                         double y1,
                         double x2,
                         double y2)
通過繪製與當前坐標和指定坐標 (x2,y2) 都相交的二次曲線,並將指定點 (x1,y1) 用作二次曲線參數控制點,可以將由兩個新點定義的曲線段添加到路徑中。所有坐標都以雙精度指定。

指定者:
類別 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) 都相交的 Bézier 曲線,並將指定點 (x1,y1)(x2,y2) 用作 Bézier 曲線的控制點,可以將由三個新點定義的曲線段添加到路徑中。所有坐標都以雙精度指定。

指定者:
類別 Path2D 中的 curveTo
參數:
x1 - 第一個 Bézier 控制點的 X 坐標
y1 - 第一個 Bézier 控制點的 Y 坐標
x2 - 第二個 Bézier 控制點的 X 坐標
y2 - 第二個 Bézier 控制點的 Y 坐標
x3 - 終端點的 X 坐標
y3 - 終端點的 Y 坐標
從以下版本開始:
1.6

append

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

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

transform

public final void transform(AffineTransform at)
使用指定的 AffineTransform 變換此路徑的幾何形狀。原地變換幾何形狀,它將永久更改由此物件定義的邊界。

指定者:
類別 Path2D 中的 transform
參數:
at - 用於變換區域的 AffineTransform
從以下版本開始:
1.6

getBounds2D

public final Rectangle2D getBounds2D()
返回一個高精度的、比 getBounds 方法更準確的 Shape 邊界框。注意,不保證返回的 Rectangle2D 是包圍 Shape 的最小邊界框,只保證 Shape 完全位於指示的 Rectangle2D 中。此方法返回的邊界框通常比 getBounds 方法返回的更緊密,而且永遠不會因為溢位問題而出錯,因為返回值可以是一個使用雙精度值存儲尺寸的 Rectangle2D 實例。

指定者:
介面 Shape 中的 getBounds2D
返回:
一個 Rectangle2D 實例,它是 Shape 的高精度邊界框。
從以下版本開始:
1.6
另請參見:
Shape.getBounds()

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
返回一個沿著 Shape 邊界迭代並提供對 Shape 輪廓幾何形狀的存取的迭代器物件。如果指定一個可選 AffineTransform,則相應地轉換迭代中返回的坐標。

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

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

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

指定者:
介面 Shape 中的 getPathIterator
參數:
at - AffineTransform
返回:
沿此 Shape 邊界進行迭代並提供對此 Shape 輪廓幾何形狀進行存取的新 PathIterator
從以下版本開始:
1.6

clone

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

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

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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