public class BasicStroke extends Object implements Stroke
BasicStroke
クラスは、Stroke 属性セットがこの BasicStroke
に設定された Graphics2D
オブジェクトで描画されるグラフィックスプリミティブの輪郭のための描画属性の基本セットを定義します。BasicStroke
で定義される描画属性は、Shape
の輪郭をなぞってペンで描画される記号の形状、および Shape
の輪郭線セグメントの端部と接合部の装飾を記述します。このような描画属性には次のようなものがあります。
SEG_CLOSE
を参照。3 つの異なる装飾として、CAP_BUTT
、CAP_ROUND
、および CAP_SQUARE
がある。
SEG_CLOSE
で閉じられる部分輪郭線の両端の交点の装飾。3 つの異なる装飾として、JOIN_BEVEL
、JOIN_MITER
、および JOIN_ROUND
がある。
Shape
引数と同じ座標系で測定されます。Graphics2D
オブジェクトが Stroke
オブジェクトを使って draw
メソッドの 1 つを実行している場合に輪郭線を再定義する場合、Graphics2D
変換による属性が適用される前のオリジナルの幾何学的図形が使用されます。このため、ペン幅などの属性は Graphics2D
オブジェクトのユーザー空間座標系の値として解釈され、その特定の Graphics2D
においてユーザー空間からデバイス空間に変換する場合に、スケーリング効果とシャーリング効果の影響を受けます。たとえば、描画される図形の輪郭の幅の決定には、この BasicStroke
の幅属性だけでなく、Graphics2D
オブジェクトの変換属性も影響します。次のコードを参照してください。
// sets the Graphics2D object's Transform attirbute g2d.scale(10, 10); // sets the Graphics2D object's Storoke attribute g2d.setStroke(new BasicStroke(1.5f));
Graphics2D
オブジェクトにほかのスケーリング変換が追加されていない場合、生成されるラインの幅は約 15 ピクセルになります。サンプルコードで示されているように、特に Graphics2D
オブジェクトを使用して大規模な変換が実行される場合は、浮動小数点ラインの方が精度が高くなります。対角線の場合、正確な幅は、描画パイプラインが理論上の幅の輪郭をなぞる際に、どのピクセル上に描画するかで決定されます。描画対象ピクセルの選択にはアンチエイリアシング属性も影響します。アンチエイリアシング描画パイプラインは、部分的に覆われるピクセルも描画対象として選択できるためです。
ユーザー空間座標系と描画プロセスについては、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)
指定された線の幅と、先端およびライン接合のスタイルのデフォルト値を使用して、実線の
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 の各属性と比較することによって、そのオブジェクトがこの BasicStroke に等しいかどうかをテストします。 |
float[] |
getDashArray()
破線セグメントの長さを表す配列を返します。
|
float |
getDashPhase()
現在の破線フェーズを返します。
|
int |
getEndCap()
先端のスタイルを返します。
|
int |
getLineJoin()
ライン接合のスタイルを返します。
|
float |
getLineWidth()
ラインの幅を返します。
|
float |
getMiterLimit()
接合制限値を返します。
|
int |
hashCode()
このストロークのハッシュコードを返します。
|
public static final int JOIN_MITER
public static final int JOIN_ROUND
public static final int JOIN_BEVEL
public static final int CAP_BUTT
public static final int CAP_ROUND
public static final int CAP_SQUARE
@ConstructorProperties(value={"lineWidth","endCap","lineJoin","miterLimit","dashArray","dashPhase"}) 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
- 破線の長さがすべてゼロの場合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 のいずれでもない場合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 のいずれでもない場合public BasicStroke(float width)
BasicStroke
を構築します。width
- BasicStroke
の幅。IllegalArgumentException
- width
が負である場合public BasicStroke()
BasicStroke
を構築します。デフォルトの属性は、実線の幅 1.0、CAP_SQUARE、JOIN_MITER、接合制限値 10.0 です。public Shape createStrokedShape(Shape s)
Shape
のストロークで描画された輪郭が内部で定義されている Shape
を返します。createStrokedShape
、インタフェース: Stroke
s
- ストロークで描画される Shape
の境界Shape
public float getLineWidth()
Graphics2D
クラスの解説を参照してください。BasicStroke
のライン幅Graphics2D
public int getEndCap()
BasicStroke
の先端のスタイル。先端のスタイルを定義する static int
値として返されるpublic int getLineJoin()
BasicStroke
のライン接合のスタイル。ライン接合のスタイルを定義する static int
値として返されるpublic float getMiterLimit()
BasicStroke
の接合制限値public float[] getDashArray()
Shape
の輪郭に沿ってペンが移動するにつれて、ペンが移動するユーザー空間の距離が累積されます。距離の値は、破線配列のインデックスに使用されます。現在の累積距離が破線配列の偶数番目の要素にマッピングされる場合、ペンは不透明になり、奇数番目の要素にマッピングされる場合は透明になります。public float getDashPhase()
float
値の破線フェーズpublic int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
BasicStroke
であるかどうかをテストし、次にその幅、接合、先端、接合制限値、破線、および破線フェーズ属性をこの BasicStroke
の各属性と比較することによって、そのオブジェクトがこの BasicStroke
に等しいかどうかをテストします。equals
、クラス: Object
obj
- この BasicStroke
と比較するオブジェクトtrue
、そうでない場合は false
Object.hashCode()
, HashMap
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.