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、インタフェース: 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, 2014, Oracle and/or its affiliates. All rights reserved.