- Home ›
- Java2Dによる画像処理 ›
- Line2Dクラス ›
- HERE
始点座標と終点座標を取得する
Line2D.Doubleクラスで始点座標と終点座標を取得するにはメソッドを使って取得する方法とフィールドの値を参照する方法があります。まずはメソッドで取得する方法を確認します。
始点座標を取得するにはLine2D.Doubleクラスで用意されている「getX1」メソッドと「getY1」メソッドを使います。また終点座標を取得するにはLine2D.Doubleクラスで用意されている「getX2」メソッドと「getY2」メソッドを使います。
getX1メソッド:
getX1 public double getX1()
始点の X 座標を倍精度で返します。 戻り値: この Line2D オブジェクトの始点の X 座標
getY1メソッド:
getY1 public double getY1()
始点の Y 座標を倍精度で返します。 戻り値: この Line2D オブジェクトの始点の Y 座標
getX2メソッド:
getX2 public double getX2()
終点の X 座標を倍精度で返します。 戻り値: この Line2D オブジェクトの終点の X 座標
getY2メソッド:
getY2 public double getY2()
終点の Y 座標を倍精度で返します。 戻り値: この Line2D オブジェクトの終点の Y 座標
「getX1」メソッドは戻り値としてオブジェクトに保存されている始点座標のX座標を表すdouble型の値を取得できます。「getY1」メソッドは戻り値としてオブジェクトに保存されている始点座標のY座標を表すdouble型の値を取得できます。「getX2」メソッド及び「getY2」メソッドも終点座標のX座標及びY座標を取得できます。
具体的には次のように記述します。
Line2D.Double line = new Line2D.Double(10.0d, 10.0d, 12.0d, 8.0d); double x1 = line.getX1(); double y1 = line.getY1(); double x2 = line.getX2(); double y2 = line.getY2();
また始点座標及び終点座標をPoint2Dクラスのオブジェクトとして取得する事も出来ます。Line2D.Doubleクラスで用意されている「getP1」メソッドと「getP2」メソッドを使います。
getP1メソッド:
getP1 public Point2D getP1()
この Line2D の始点を表す Point2D を返します。 戻り値: この Line2D の始点を表す Point2D
getP2メソッド:
getP2 public Point2D getP2()
この Line2D の終点を表す Point2D を返します。 戻り値: この Line2D の終点を表す Point2D
「getP1」メソッドは戻り値として始点座標を表すPoint2Dクラスのオブジェクトを取得できます。「getP2」メソッドは戻り値として終点座標を表すPoint2Dクラスのオブジェクトを取得できます。
具体的には次のように記述します。
Line2D.Double line = new Line2D.Double(10.0d, 10.0d, 12.0d, 8.0d); Point2D.Double p1 = (Point2D.Double)line.getP1(); Point2D.Double p2 = (Point2D.Double)line.getP2();
※Point2Dクラスについては『Point2Dクラス』を参照して下さい。
フィールドを参照する
Line2D.Doubleではフィールドとして「x1」「y1」「x2」「y2」と言う4つのdouble型の値を保持するフィールドを持っておりオブジェクトから直接参照することが出来ます。
具体的には次のように記述します。
Line2D.Double line = new Line2D.Double(10.0d, 10.0d, 12.0d, 8.0d); double x1 = line.x1; double y1 = line.y1; double x2 = line.x2; double y2 = line.y2;
サンプルプログラム
簡単なサンプルを一度試してみます。
import java.awt.geom.Line2D; class Line2DTest2{ public static void main(String args[]){ Line2D.Double line = new Line2D.Double(10.0d, 10.0d, 20.0d, 15.0d); double x1 = line.getX1(); double y1 = line.getY1(); double x2 = line.getX2(); double y2 = line.getY2(); System.out.println("始点(x, y)=(" + x1 + "," + y1 + ")"); System.out.println("終点(x, y)=(" + x2 + "," + y2 + ")"); } }
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )