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、インタフェース: Strokes - ストロークで描画される Shape の境界Shapepublic float getLineWidth()
Graphics2D クラスの解説を参照してください。BasicStroke のライン幅Graphics2Dpublic 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、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
BasicStroke であるかどうかをテストし、次にその幅、接合、先端、接合制限値、破線、および破線フェーズ属性をこの BasicStroke の各属性と比較することによって、そのオブジェクトがこの BasicStroke に等しいかどうかをテストします。equals、クラス: Objectobj - この BasicStroke と比較するオブジェクトtrue、そうでない場合は falseObject.hashCode(), HashMap バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.