- Home ›
- Java2Dによる画像処理 ›
- Arc2Dクラス ›
- HERE
メソッドを使って設定
広告
Arc2D.Doubleクラスで各設定値をコンストラクタで指定する以外にオブジェクトを作成した後でメソッドを使って設定することが出来ます。Arc2D.Doubleクラスで用意されている「setArc」メソッドを使います。
setArc public void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
この弧の位置、サイズ、角の大きさ、閉じ方の種類を、指定された double 値に 設定します。 パラメータ: x - 弧の左上隅の X 座標。 y - 弧の左上隅の Y 座標。 w - この弧が一部を構成する 楕円の幅 h - この弧が一部を構成する 楕円の高さ angSt - 弧の始角 (度単位) angExt - 弧の角の大きさ (度単位) closure - 弧の閉じ方の種類 (Arc2D.OPEN、Arc2D.CHORD、または Arc2D.PIE)
1番目の引数でx座標を2番目の引数でy座標をそれぞれdouble型の値で指定します。この2つが長方形の領域の左上の座標となります。そして3番目の引数で幅を4番目の引数で高さをそれぞれdouble型の値で指定します。作成される楕円はこの長方形の領域に内接する楕円となります。5番目の引数で開始角度を6番目の引数で使用角度をそれぞれdouble型の値で指定します。
7番目の引数で円弧の閉じ方を表すint型の値を指定します。指定できる値は次の通りです。
値 | 種類 |
---|---|
Arc2D.OPEN | 開いたままの円弧です |
Arc2D.CHORD | 円弧の両端を直線で結びます |
Arc2D.PIE | 円弧の両端と円の中心をそれぞれ結びます |
具体的には次のように記述します。
Arc2D.Double arc = new Arc2D.Double(); arc.setArc(10.0d, 10.0d, 40.0d, 20.0d, 45.0d, 45.0d, Arc2D.PIE);
サンプルプログラム
簡単なサンプルを一度試してみます。
import javax.swing.*; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.*; public class Arc2DTest1 extends JPanel{ public static void main(String[] args){ JFrame frame = new JFrame(); Arc2DTest1 app = new Arc2DTest1(); 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); Arc2D.Double arc = new Arc2D.Double(); arc.setArc(20.0d, 20.0d, 250.0d, 140.0d, 45.0d, 45.0d, Arc2D.PIE); g2.draw(arc); } }
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )