|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface PathIterator
PathIterator
介面通過允許調用者一次一段地獲取邊界的路徑,為實作 Shape
介面的物件提供返回其邊界幾何形狀的機制。此介面允許這些物件一次一段地獲取其邊界,方法是使用從一階到三階 Bézier 曲線,這些曲線是直線、二次或三次 Bézier 樣條。
多個子路徑可以通過使用 "MOVETO" 段在幾何形狀中創建間斷性以從一個子路徑的結尾移動到下一個子路徑的開頭來表示。
每個子路徑都可以被手動關閉,方法是在該子路徑的起始 "MOVETO" 段所在的坐標上結束子路徑中的最後一段,或者使用 "CLOSE" 段追加一條線段連接最後一點和第一點。應該知道,相對於使用 "CLOSE" 段關閉路徑而言,手動關閉輪廓可能導致在子路徑的結束點使用不同的線樣式裝飾。例如,BasicStroke
物件使用線 "JOIN" 裝飾來連接第一點和最後一點(如果遇到 "CLOSE" 段),而在該開頭坐標上結束路徑將導致在結尾使用線 "CAP" 裝飾。
Shape
,
BasicStroke
欄位摘要 | |
---|---|
static int |
SEG_CLOSE
該段型別常數指定應該通過將線段追加到與最新 SEG_MOVETO 對應的點來關閉前面的子路徑。 |
static int |
SEG_CUBICTO
該段型別常數針對某個 3 個點的集合,指定要根據最新指定點繪製的三次參數曲線。 |
static int |
SEG_LINETO
該段型別常數針對某個點,指定要根據最新指定點繪製的線的結束點。 |
static int |
SEG_MOVETO
該段型別常數針對某個點,指定新子路徑的起始位置。 |
static int |
SEG_QUADTO
該段型別常數針對某對點,指定要根據最新指定點繪製的二次參數曲線。 |
static int |
WIND_EVEN_ODD
用於指定確定路徑內部的奇偶規則的旋繞規則常數。 |
static int |
WIND_NON_ZERO
用於指定確定路徑內部的非零規則的旋繞規則常數。 |
方法摘要 | |
---|---|
int |
currentSegment(double[] coords)
使用迭代返回當前路徑段的坐標和型別。 |
int |
currentSegment(float[] coords)
使用迭代返回當前路徑段的坐標和型別。 |
int |
getWindingRule()
返回用於確定路徑迭代的旋繞規則。 |
boolean |
isDone()
測試迭代是否完成。 |
void |
next()
只要最初的遍歷方向上還存在點,就沿該方向將迭代器移動到下一個路徑段。 |
欄位詳細資訊 |
---|
static final int WIND_EVEN_ODD
static final int WIND_NON_ZERO
static final int SEG_MOVETO
static final int SEG_LINETO
static final int SEG_QUADTO
(t=[0..1])
範圍內解參數控制方程來內插。此曲線的參數控制方程為:
P(t) = B(2,0)*CP + B(2,1)*P1 + B(2,2)*P2 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n! / (m! * (n-m)!)
static final int SEG_CUBICTO
(t=[0..1])
範圍內解參數控制方程來內插。此曲線的參數控制方程為:
P(t) = B(3,0)*CP + B(3,1)*P1 + B(3,2)*P2 + B(3,3)*P3 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n! / (m! * (n-m)!)這一形式的曲線通常稱為 Bézier 曲線。
static final int SEG_CLOSE
方法詳細資訊 |
---|
int getWindingRule()
WIND_EVEN_ODD
,
WIND_NON_ZERO
boolean isDone()
true
;否則返回 false
。void next()
int currentSegment(float[] coords)
coords
- 保存從此方法返回資料的陣列
SEG_MOVETO
,
SEG_LINETO
,
SEG_QUADTO
,
SEG_CUBICTO
,
SEG_CLOSE
int currentSegment(double[] coords)
coords
- 保存從此方法返回資料的陣列
SEG_MOVETO
,
SEG_LINETO
,
SEG_QUADTO
,
SEG_CUBICTO
,
SEG_CLOSE
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。