- Home ›
- Java2Dによる画像処理 ›
- QuadCurve2Dクラス ›
- HERE
メソッドで設定する
広告
QuadCurve2D.Doubleクラスで各設定値をコンストラクタで指定する以外にオブジェクトを作成した後でメソッドを使って設定することが出来ます。QuadCurve2D.Doubleクラスで用意されている「setCurve」メソッドを使います。
setCurve public void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
この曲線の終点と制御点の位置を、指定された double 座標に設定します。 パラメータ: x1 - 始点の X 座標 y1 - 始点の Y 座標 ctrlx - 制御点の X 座標 ctrly - 制御点の Y 座標 x2 - 終点の X 座標 y2 - 終点の Y 座標
1番目と2番目の引数で始点座標を指定します。3番目と4番目の引数で制御点の座標を指定します。5番目と6番目の引数で終点座標を指定します。
具体的には次のように記述します。
QuadCurve2D.Double curve = new QuadCurve2D.Double(); curve.setCurve(20.0d, 20.0d, 20.0d, 160.0d, 150.0d, 100.0d);
サンプルプログラム
簡単なサンプルを一度試してみます。
import javax.swing.*; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.*; public class QuadCurve2DTest1 extends JPanel{ public static void main(String[] args){ JFrame frame = new JFrame(); QuadCurve2DTest1 app = new QuadCurve2DTest1(); frame.getContentPane().add(app); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } public void paintComponent(Graphics g){ Graphics2D g2 = (Graphics2D)g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); QuadCurve2D.Double curve = new QuadCurve2D.Double(); curve.setCurve(60.0d, 20.0d, 40.0d, 140.0d, 220.0d, 120.0d); g2.draw(curve); double x1 = curve.x1; double y1 = curve.y1; double x2 = curve.x2; double y2 = curve.y2; double ctrlx = curve.ctrlx; double ctrly = curve.ctrly; g2.draw(new Ellipse2D.Double(x1 - 5.0d, y1 - 5.d, 10.d, 10.0d)); g2.draw(new Ellipse2D.Double(x2 - 5.0d, y2 - 5.d, 10.d, 10.0d)); g2.draw(new Ellipse2D.Double(ctrlx - 5.0d, ctrly - 5.d, 10.d, 10.0d)); } }
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )