JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 BasicStroke

java.lang.Object
  繼承者 java.awt.BasicStroke
所有已實作的介面:
Stroke

public class BasicStroke
extends Object
implements Stroke

BasicStroke 類別定義針對圖形圖元輪廓呈現屬性的一個基本集合,這些圖元使用 Graphics2D 物件呈現,而該物件的 Stroke 屬性設置為此 BasicStroke。由 BasicStroke 定義的呈現屬性描述了用畫筆沿 Shape 的輪廓繪製的某個標記的形狀,以及應用在 Shape 路徑線段的末端和連接處的裝飾。 這些呈現屬性包括:

width
畫筆的寬度,是垂直於畫筆軌跡的測量值。
end caps
在未封閉子路徑和虛線線段的末端應用的一些裝飾。如果子路徑沒有 CLOSE 段,則在同一點上開始和結束的子路徑仍被認為是未封閉的。關於 CLOSE 段的更多資訊,請參閱 SEG_CLOSE。三個不同的裝飾是:CAP_BUTTCAP_ROUNDCAP_SQUARE
line joins
在兩個路徑線段的交匯處,以及使用 SEG_CLOSE 封閉的子路徑端點的交匯處應用的裝飾。三個不同的裝飾是:JOIN_BEVELJOIN_MITERJOIN_ROUND
miter limit
對剪裁具有 JOIN_MITER 裝飾的線接合點的限制。當斜接長度與筆劃寬度的比大於 miterlimit 值時,需要剪裁線接合點。斜接長度是斜接的對角線長度,即交匯處的內稜角和外稜角之間的距離。兩條線段形成的角度越小,斜接長度就越長,交匯處的角度就越尖銳。預設 miterlimit 值為 10.0f,它會使所有小於 11 度的角都被剪裁。剪裁斜接會使線接合點的裝飾變成斜角。
dash attributes
關於如何通過在不透明和透明部分之間交替形成一個虛線網要的定義。
一些屬性指定了控制返回輪廓形狀的測量和距離,所有這些屬性都是在與最初未繪製輪廓的 Shape 參數相同的坐標系中測量的。當 Graphics2D 物件在執行其 draw 方法之一期間使用 Stroke 物件重定義一條路徑時,在應用 Graphics2D 轉換屬性之前,要提供原始形式的幾何形狀。所以,諸如畫筆寬度之類別的屬性是在 Graphics2D 物件的使用者空間坐標系中解釋的,並受制於特定 Graphics2D 中使用者空間到設備空間轉換的縮放和剪切效果。例如,呈現形狀的輪廓寬度不僅由此 BasicStroke 的 width 屬性確定,還由 Graphics2D 物件的 transform 屬性確定。請考慮以下程式碼:
// sets the Graphics2D object's Tranform attribute g2d.scale(10, 10); // sets the Graphics2D object's Stroke attribute g2d.setStroke(new BasicStroke(1.5f));
假定不對 Graphics2D 物件添加其他任何縮放轉換,那麼所得到的線條寬度大約是 15 個像素寬。如範例程式碼所述,浮點線提供了更好的精度,特別是在對 Graphics2D 物件使用大型轉換時。當一條線是斜線時,具體的寬度取決於在追蹤理論上已加寬的輪廓時,呈現管線選擇填充哪些像素。選擇開啟哪些像素受到 antialiasing 屬性的影響,因為抗鋸齒呈現管線可以選擇給部分覆寫的像素著色。

關於使用者空間坐標和呈現過程的更多資訊,請參閱 Graphics2D 類別的註釋。

另請參見:
Graphics2D

欄位摘要
static int CAP_BUTT
          無裝飾地結束未封閉的子路徑和虛線線段。
static int CAP_ROUND
          使用半徑等於畫筆寬度一半的圓形裝飾結束未封閉的子路徑和虛線線段。
static int CAP_SQUARE
          使用正方形結束未封閉的子路徑和虛線線段,正方形越過線段端點,並延長等於線條寬度一半的距離。
static int JOIN_BEVEL
          通過直線連接寬體輪廓的外角,將路徑線段連接在一起。
static int JOIN_MITER
          擴展路徑線段的外邊緣,直到它們連接在一起。
static int JOIN_ROUND
          通過捨去半徑為線長的一半的圓角,將路徑線段連接在一起。
 
建構子摘要
BasicStroke()
          建構一個具有所有屬性的預設值的新 BasicStroke
BasicStroke(float width)
          建構一個具有指定線條寬度以及 cap 和 join 樣式的預設值的實心 BasicStroke
BasicStroke(float width, int cap, int join)
          建構一個具有指定屬性的實心的 BasicStroke
BasicStroke(float width, int cap, int join, float miterlimit)
          建構一個具有指定屬性的實心的 BasicStroke
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
          建構一個具有指定屬性的新 BasicStroke
 
方法摘要
 Shape createStrokedShape(Shape s)
          返回一個 Shape,它在內部定義了指定 Shape 的筆劃輪廓。
 boolean equals(Object obj)
          測試指定對象與此 BasicStroke 是否相等,首先測試指定物件是否是一個 BasicStroke,然後將其寬度、連接、cap、斜接限制、虛線和虛線相位屬性與 BasicStroke 的那些屬性進行比較。
 float[] getDashArray()
          返回表示虛線線段長度的陣列。
 float getDashPhase()
          返回當前虛線相位。
 int getEndCap()
          返回端點的 cap 樣式。
 int getLineJoin()
          返回線條連接樣式。
 float getLineWidth()
          返回線條的寬度。
 float getMiterLimit()
          返回斜接的限制。
 int hashCode()
          返回此筆劃的雜湊碼。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

JOIN_MITER

public static final int JOIN_MITER
擴展路徑線段的外邊緣,直到它們連接在一起。

另請參見:
常數欄位值

JOIN_ROUND

public static final int JOIN_ROUND
通過捨去半徑為線長的一半的圓角,將路徑線段連接在一起。

另請參見:
常數欄位值

JOIN_BEVEL

public static final int JOIN_BEVEL
通過直線連接寬體輪廓的外角,將路徑線段連接在一起。

另請參見:
常數欄位值

CAP_BUTT

public static final int CAP_BUTT
無裝飾地結束未封閉的子路徑和虛線線段。

另請參見:
常數欄位值

CAP_ROUND

public static final int CAP_ROUND
使用半徑等於畫筆寬度一半的圓形裝飾結束未封閉的子路徑和虛線線段。

另請參見:
常數欄位值

CAP_SQUARE

public static final int CAP_SQUARE
使用正方形結束未封閉的子路徑和虛線線段,正方形越過線段端點,並延長等於線條寬度一半的距離。

另請參見:
常數欄位值
建構子詳細資訊

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join,
                   float miterlimit,
                   float[] dash,
                   float dash_phase)
建構一個具有指定屬性的新 BasicStroke

參數:
width - 此 BasicStroke 的寬度。此寬度必須大於或等於 0.0f。如果將寬度設置為 0.0f,則將筆劃呈現為可用於目標設備和抗鋸齒提示設置的最細線條。
cap - BasicStroke 端點的裝飾
join - 應用在路徑線段交匯處的裝飾
miterlimit - 斜接處的剪裁限制。miterlimit 必須大於或等於 1.0f。
dash - 表示虛線網要的陣列
dash_phase - 開始虛線網要的偏移量
拋出:
IllegalArgumentException - 如果 width 為負
IllegalArgumentException - 如果 cap 既不是 CAP_BUTT,也不是 CAP_ROUND 或 CAP_SQUARE
IllegalArgumentException - 如果 miterlimit 小於 1 並且 join 為 JOIN_MITER
IllegalArgumentException - 如果 join 既不是 JOIN_ROUND,也不是 JOIN_BEVEL 或 JOIN_MITER
IllegalArgumentException - 如果 dash_phase 為負並且 dash 不為 null
IllegalArgumentException - 如果 dash 的長度為零
IllegalArgumentException - 如果所有 dash 的長度都為零。

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join,
                   float miterlimit)
建構一個具有指定屬性的實心的 BasicStroke

參數:
width - BasicStroke 的寬度
cap - BasicStroke 端點的裝飾
join - 應用在路徑線段交匯處的裝飾
miterlimit - 斜接處的剪裁限制
拋出:
IllegalArgumentException - 如果 width 為負
IllegalArgumentException - 如果 cap 既不是 CAP_BUTT,也不是 CAP_ROUND 或 CAP_SQUARE
IllegalArgumentException - 如果 miterlimit 小於 1 並且 join 為 JOIN_MITER
IllegalArgumentException - 如果 join 既不是 JOIN_ROUND,也不是 JOIN_BEVEL 或 JOIN_MITER

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join)
建構一個具有指定屬性的實心的 BasicStroke。在允許使用預設值或線連接點未指定為 JOIN_MITER 的情況下,不需要 miterlimit 參數。

參數:
width - BasicStroke 的寬度
cap - BasicStroke 端點的裝飾
join - 應用在路徑線段交匯處的裝飾
拋出:
IllegalArgumentException - 如果 width 為負
IllegalArgumentException - 如果 cap 既不是 CAP_BUTT,也不是 CAP_ROUND 或 CAP_SQUARE
IllegalArgumentException - 如果 join 既不是 JOIN_ROUND,也不是 JOIN_BEVEL 或 JOIN_MITER

BasicStroke

public BasicStroke(float width)
建構一個具有指定線條寬度以及 cap 和 join 樣式的預設值的實心 BasicStroke

參數:
width - BasicStroke 的寬度
拋出:
IllegalArgumentException - 如果 width 為負

BasicStroke

public BasicStroke()
建構一個具有所有屬性的預設值的新 BasicStroke。預設屬性是寬度為 1.0 的實線、CAP_SQUARE、JOIN_MITER 和 10.0 的斜接限制。

方法詳細資訊

createStrokedShape

public Shape createStrokedShape(Shape s)
返回一個 Shape,它在內部定義了指定 Shape 的筆劃輪廓。

指定者:
介面 Stroke 中的 createStrokedShape
參數:
s - 要勾畫的 Shape 邊界
返回:
勾畫了輪廓的 Shape

getLineWidth

public float getLineWidth()
返回線條的寬度。線條的寬度是在使用者空間中表示的,此空間是 Java 2D 使用的預設坐標空間。關於使用者空間坐標系的更多資訊,請參閱 Graphics2D 類別的註釋。

返回:
BasicStroke 的線條寬度。
另請參見:
Graphics2D

getEndCap

public int getEndCap()
返回端點的 cap 樣式。

返回:
BasicStroke 端點的 cap 樣式,它是定義可能的端點 cap 樣式的靜態 int 值之一。

getLineJoin

public int getLineJoin()
返回線條連接樣式。

返回:
BasicStroke 的線條連接樣式,它是定義可能的線條連接樣式的靜態 int 值之一。

getMiterLimit

public float getMiterLimit()
返回斜接的限制。

返回:
BasicStroke 的斜接限制。

getDashArray

public float[] getDashArray()
返回表示虛線線段長度的陣列。陣列中其他條目表示了不透明和透明虛線線段的使用者空間長度。當勾畫將被繪製的 Shape 的輪廓時,勾畫的使用者空間距離將被累積。距離值被用來在虛線陣列中建立索引。當畫筆的當前累積距離映射到虛線陣列的某一個元素時,畫筆是不透明的,否則是透明的。

返回:
虛線陣列。

getDashPhase

public float getDashPhase()
返回當前虛線相位。虛線相位是在使用者坐標中指定的一個距離,它表示虛線網要中的偏移量。換句話說,虛線相位定義了虛線網要中的點,該點將相應於筆劃的起始點。

返回:
返回 float 值形式的虛線相位。

hashCode

public int hashCode()
返回此筆劃的雜湊碼。

覆寫:
類別 Object 中的 hashCode
返回:
此筆劃的雜湊碼。
另請參見:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
測試指定對象與此 BasicStroke 是否相等,首先測試指定物件是否是一個 BasicStroke,然後將其寬度、連接、cap、斜接限制、虛線和虛線相位屬性與 BasicStroke 的那些屬性進行比較。

覆寫:
類別 Object 中的 equals
參數:
obj - 與此 BasicStroke 進行比較的指定物件
返回:
如果兩個物件的寬度、連接、cap、斜接限制、虛線和虛線相位相同,則返回 true;否則返回 false
另請參見:
Object.hashCode(), Hashtable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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