public static class Path2D.Double extends Path2D implements Serializable
Double
クラスは、座標が倍精度浮動小数点で格納される幾何学的パスを定義します。Path2D.Double, Path2D.Float
WIND_EVEN_ODD, WIND_NON_ZERO
コンストラクタと説明 |
---|
Path2D.Double()
Path2D.WIND_NON_ZERO のデフォルトの屈曲規則を使用して、新しい空の倍精度 Path2D オブジェクトを構築します。 |
Path2D.Double(int rule)
パスの内部を定義する必要があるオペレーションを制御するために屈曲規則を指定して、新しい空の倍精度
Path2D オブジェクトを構築します。 |
Path2D.Double(int rule, int initialCapacity)
屈曲規則、およびパスセグメントを格納できる初期容量を指定して、新しい空の倍精度
Path2D オブジェクトを構築します。 |
Path2D.Double(Shape s)
任意の
Shape オブジェクトから、新しい空の倍精度 Path2D を構築します。 |
Path2D.Double(Shape s, AffineTransform at)
|
修飾子と型 | メソッドと説明 |
---|---|
void |
append(PathIterator pi, boolean connect)
指定された
PathIterator オブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をラインセグメントで既存のパスセグメントに接続することも可能です。 |
Object |
clone()
このオブジェクトと同じクラスの新しいオブジェクトを作成します。
|
void |
curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
3 つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点
(x1,y1) と点 (x2,y2) をベジェ制御点として使用して、現在の座標と指定された座標 (x3,y3) の両方を通るベジェ曲線として描画します。 |
Rectangle2D |
getBounds2D()
高精度で、かつ
getBounds メソッドより正確な Shape のバウンディングボックスを返します。 |
PathIterator |
getPathIterator(AffineTransform at)
Shape の境界に沿って反復し、Shape の輪郭の幾何学的図形へのアクセスを提供するイテレータオブジェクトを返します。 |
void |
lineTo(double x, double y)
現在の座標から倍精度で新しく指定された座標まで直線を描画して点をパスに追加します。
|
void |
moveTo(double x, double y)
倍精度で指定された座標に移動して点をパスに追加します。
|
void |
quadTo(double x1, double y1, double x2, double y2)
2 つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点
(x1,y1) を 2 次パラメトリック制御点として使用して、現在の座標と指定された座標 (x2,y2) を通る 2 次曲線として描画します。 |
void |
transform(AffineTransform at)
指定された
AffineTransform を使用して、このパスの幾何学的図形を変換します。 |
append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRule
public Path2D.Double()
Path2D.WIND_NON_ZERO
のデフォルトの屈曲規則を使用して、新しい空の倍精度 Path2D
オブジェクトを構築します。public Path2D.Double(int rule)
Path2D
オブジェクトを構築します。rule
- 屈曲規則Path2D.WIND_EVEN_ODD
, Path2D.WIND_NON_ZERO
public Path2D.Double(int rule, int initialCapacity)
Path2D
オブジェクトを構築します。この数字は、パスに存在するパスセグメントの数についての初期推定ですが、このパスにパスセグメントが追加されるときに、必要に応じて格納するためのストレージが拡張されます。rule
- 屈曲規則initialCapacity
- パスにあるパスセグメントの数の推定値Path2D.WIND_EVEN_ODD
, Path2D.WIND_NON_ZERO
public Path2D.Double(Shape s)
s
- 指定された Shape
オブジェクトpublic Path2D.Double(Shape s, AffineTransform at)
AffineTransform
オブジェクトによって変換される、任意の Shape
オブジェクトから新しい倍精度 Path2D
オブジェクトを構築します。このパスの初期幾何学的図形および屈曲規則はすべて、指定された Shape
オブジェクトからとられ、指定された AffineTransform
オブジェクトによって変換されます。s
- 指定された Shape
オブジェクトat
- 指定された AffineTransform
オブジェクトpublic final void moveTo(double x, double y)
public final void lineTo(double x, double y)
public final void quadTo(double x1, double y1, double x2, double y2)
(x1,y1)
を 2 次パラメトリック制御点として使用して、現在の座標と指定された座標 (x2,y2)
を通る 2 次曲線として描画します。すべての座標は、倍精度で指定されます。public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
(x1,y1)
と点 (x2,y2)
をベジェ制御点として使用して、現在の座標と指定された座標 (x3,y3)
の両方を通るベジェ曲線として描画します。すべての座標は、倍精度で指定されます。public final void append(PathIterator pi, boolean connect)
PathIterator
オブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をラインセグメントで既存のパスセグメントに接続することも可能です。connect
パラメータが true
であり、パスが空でない場合、追加された Shape
の幾何学的図形の初期 moveTo
は lineTo
セグメントに変わります。そのような接続 lineTo
セグメントのデスティネーションの座標が現在開いているサブパスの終了座標と一致する場合、セグメントは不要なので省略されます。指定された Shape
の屈曲規則は無視され、追加された幾何学的図形はこのパスに指定された屈曲規則に制御されます。public final void transform(AffineTransform at)
AffineTransform
を使用して、このパスの幾何学的図形を変換します。幾何学的図形は適切に変換され、これにより、このオブジェクトによって定義される境界が永久的に変更されます。public final Rectangle2D getBounds2D()
getBounds
メソッドより正確な Shape
のバウンディングボックスを返します。返された Rectangle2D
が、Shape
を囲む最小のバウンディングボックスであるという保証はありません。Shape
が、示された Rectangle2D
内に完全に含まれるだけです。戻り値を、倍精度値を使用して寸法を格納する Rectangle2D
のインスタンスにすることができるため、このメソッドによって返されたバウンディングボックスは通常、getBounds
メソッドによって返されたものより厳密であり、オーバーフローの問題のために失敗することはありません。
内側の定義によって、shape
の定義する輪郭上の点が、返された bounds
オブジェクトに含まれていると見なされない状況が発生する場合があります。ただし、これは、これらの点が元の shape
にも含まれていないと見なされる場合のみです。
point
が contains(point)
メソッドに従って shape
の内側にある場合は、bounds
の contains(point)
メソッドに従って、返された Rectangle2D
境界オブジェクトの内側にある必要があります。具体的には、次のようになります。
shape.contains(p)
には次が必要: bounds.contains(p)
point
が shape
の内側にない場合は、引き続き bounds
オブジェクトに含まれている可能性があります。
bounds.contains(p)
は次を示さない: shape.contains(p)
getBounds2D
、インタフェース: Shape
Shape
の高精度のバウンディングボックスである Rectangle2D
のインスタンス。Shape.getBounds()
public final PathIterator getPathIterator(AffineTransform at)
Shape
の境界に沿って反復し、Shape
の輪郭の幾何学的図形へのアクセスを提供するイテレータオブジェクトを返します。オプションの AffineTransform
が指定されると、反復処理で返される座標がそれに応じて変換されます。
このメソッドを呼び出すたびに、同時に使用されているほかのすべての PathIterator
オブジェクトとは無関係に、Shape
オブジェクトの幾何学的図形をトラバースする新しい PathIterator
オブジェクトが返されます。
Shape
インタフェースを実装するオブジェクトにより、進行中の反復が、このような反復中に発生する可能性のある元のオブジェクトの幾何学的図形へのどのような変更からも切り離されることを推奨しますが、これは保証されません。
このクラスのイテレータは、マルチスレッドに対して安全ではありません。つまりこの Path2D
クラスでは、この Path2D
オブジェクトの幾何学的図形を変更すると、この幾何学的図形についてすでに進行中の反復処理に影響を及ぼす場合があります。
getPathIterator
、インタフェース: Shape
at
- AffineTransform
Shape
の境界に沿って反復し、この Shape
の輪郭線の幾何学的図形へのアクセスを提供する新しい PathIterator
public final Object clone()
clone
、クラス: Path2D
OutOfMemoryError
- 十分なメモリーがない場合。Cloneable
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.