public static class Path2D.Double extends Path2D implements Serializable
Double
クラスは、座標が倍精度浮動小数点で格納される幾何学的パスを定義します。Path2D.Double, Path2D.Float
WIND_EVEN_ODD, WIND_NON_ZERO
コンストラクタと説明 |
---|
Double()
Path2D.WIND_NON_ZERO のデフォルトの屈曲規則を使用して、新しい空の倍精度Path2D オブジェクトを構築します。 |
Double(int rule)
パスの内部を定義する必要があるオペレーションを制御するために屈曲規則を指定して、新しい空の倍精度
Path2D オブジェクトを構築します。 |
Double(int rule, int initialCapacity)
屈曲規則、およびパス・セグメントを格納できる初期容量を指定して、新しい空の倍精度
Path2D オブジェクトを構築します。 |
Double(Shape s)
任意の
Shape オブジェクトから、新しい空の倍精度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 Double()
Path2D.WIND_NON_ZERO
のデフォルトの屈曲規則を使用して、新しい空の倍精度Path2D
オブジェクトを構築します。public Double(int rule)
Path2D
オブジェクトを構築します。rule
- 屈曲規則Path2D.WIND_EVEN_ODD
, Path2D.WIND_NON_ZERO
public Double(int rule, int initialCapacity)
Path2D
オブジェクトを構築します。この数字は、パスに存在するパス・セグメントの数についての初期推定ですが、このパスにパス・セグメントが追加されるときに、必要に応じて格納するためのストレージが拡張されます。rule
- 屈曲規則initialCapacity
- パスにあるパス・セグメントの数の推定値Path2D.WIND_EVEN_ODD
, Path2D.WIND_NON_ZERO
public Double(Shape s)
s
- 指定されたShape
オブジェクトpublic 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, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。