public static class Path2D.Double extends Path2D implements Serializable
Double クラスは、座標が倍精度浮動小数点で格納される幾何学的パスを定義します。Path2D.Double, Path2D.FloatWIND_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, setWindingRulepublic Path2D.Double()
Path2D.WIND_NON_ZERO のデフォルトの屈曲規則を使用して、新しい空の倍精度 Path2D オブジェクトを構築します。public Path2D.Double(int rule)
Path2D オブジェクトを構築します。rule - 屈曲規則Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZEROpublic Path2D.Double(int rule,
int initialCapacity)
Path2D オブジェクトを構築します。この数字は、パスに存在するパスセグメントの数についての初期推定ですが、このパスにパスセグメントが追加されるときに、必要に応じて格納するためのストレージが拡張されます。rule - 屈曲規則initialCapacity - パスにあるパスセグメントの数の推定値Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZEROpublic 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、インタフェース: ShapeShape の高精度のバウンディングボックスである Rectangle2D のインスタンス。Shape.getBounds()public final PathIterator getPathIterator(AffineTransform at)
Shape の境界に沿って反復し、Shape の輪郭の幾何学的図形へのアクセスを提供するイテレータオブジェクトを返します。オプションの AffineTransform が指定されると、反復処理で返される座標がそれに応じて変換されます。
このメソッドを呼び出すたびに、同時に使用されているほかのすべての PathIterator オブジェクトとは無関係に、Shape オブジェクトの幾何学的図形をトラバースする新しい PathIterator オブジェクトが返されます。
Shape インタフェースを実装するオブジェクトにより、進行中の反復が、このような反復中に発生する可能性のある元のオブジェクトの幾何学的図形へのどのような変更からも切り離されることを推奨しますが、これは保証されません。
このクラスのイテレータは、マルチスレッドに対して安全ではありません。つまりこの Path2D クラスでは、この Path2D オブジェクトの幾何学的図形を変更すると、この幾何学的図形についてすでに進行中の反復処理に影響を及ぼす場合があります。
getPathIterator、インタフェース: Shapeat - AffineTransformShape の境界に沿って反復し、この Shape の輪郭線の幾何学的図形へのアクセスを提供する新しい PathIteratorpublic final Object clone()
clone、クラス: Path2DOutOfMemoryError - 十分なメモリーがない場合。Cloneable バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.