|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.BasicStroke
BasicStroke
クラスは、単純な図形の輪郭線を描画する属性の基本セットを定義します。この描画は、Stroke 属性をこの BasicStroke
に設定した Graphics2D
オブジェクトによって行われます。BasicStroke
で定義される描画属性は、Shape
の輪郭をなぞってペンで描画される記号の形状、端部の装飾、または Shape
の輪郭線セグメントの接合を記述します。このような描画属性には次のようなものがあります。
SEG_CLOSE
を参照。CAP_BUTT
、CAP_ROUND
、および CAP_SQUARE
の 3 種類の装飾がある
SEG_CLOSE
で閉じられる部分輪郭線の両端の交点の装飾。JOIN_BEVEL
、JOIN_MITER
、および JOIN_ROUND
の 3 種類の装飾がある
Shape
引数と同じ座標系で測定されます。Graphics2D
オブジェクトが Stroke
オブジェクトを使って draw
メソッドの 1 つを実行している場合に輪郭線を再定義する場合、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 と等しいかどうかを判定します。 |
float[] |
getDashArray()
破線セグメントの長さを表す配列を返します。 |
float |
getDashPhase()
現在の破線フェーズを返します。 |
int |
getEndCap()
先端のスタイルを返します。 |
int |
getLineJoin()
ライン接合のスタイルを返します。 |
float |
getLineWidth()
ラインの幅を返します。 |
float |
getMiterLimit()
トリミング制限値を返します。 |
int |
hashCode()
このストロークのハッシュコードを返します。 |
クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
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
コンストラクタの詳細 |
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
- 接合トリミングの制限値。1.0f 以上でなければならないdash
- 破線パターンを表す配列dash_phase
- 破線パターン開始位置のオフセット
IllegalArgumentException
- width
が負の値の場合
IllegalArgumentException
- if 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
を返します。
Stroke
内の createStrokedShape
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()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
BasicStroke
と等しいかどうかを判定します。最初にオブジェクトが BasicStroke
であるかを判定し、次にそれぞれの BasicStroke
オブジェクトの幅、接合、先端、トリミング制限値、破線、および破線フェーズ属性を比較します。
Object
内の equals
obj
- この BasicStroke
と比較するオブジェクト
true
、そうでない場合は false
Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.