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 attribute g2d.scale(10, 10); // sets the Graphics2D object's Stroke 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()
このストロークのハッシュ・コードを返します。
|
@Native public static final int JOIN_MITER
@Native public static final int JOIN_ROUND
@Native public static final int JOIN_BEVEL
@Native public static final int CAP_BUTT
@Native public static final int CAP_ROUND
@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, 2014, Oracle and/or its affiliates. All rights reserved.