appendix> 2D TOPUPPREVNEXT

インターフェイス Shape と クラス Graphics2D

【目次】
  1. インターフェース Shape
  2. Point2D.Double 点
  3. Dimension 幅と高さ
  4. Line2D.Double 直線
  5. RectangularShape四角い図形
  6.  Rectangle2D.Double 矩形
  7.  RoundRectangle2D.Double 角の丸い矩形
  8.  Ellipse2D.Double 楕円
  9.  Arc2D.Double 弧
  10. QuadCurve2D.Double 2次曲線
  11. CubicCurve2D.Double 3次曲線
  12. Polygon 多角形
  13. GeneralPath 一般の図形
  14. Area
  15. インターフェース PathIterator
  16. アフィン変換 AffineTransform
  17. Graphics2D
  18. BasicStroke
【テーマ】
平面図形を表現するためのインターフェース Shape および Shape を実装する 点、直線、矩形、角の丸い矩形、楕円、弧、2次曲線、3次曲線、多角形、GeneralPath、Area を紹介します。
座標は float か double で扱いますが、 ここでは double で座標や大きさを表現するものだけを取り上げます。
コンピュータで図形をあつかう場合、具体的な画面や印刷装置で表示可能な ピクセル(表示の最小単位=点)単位で位置や大きさを考えますが、 Shape では、図形をピクセルとは無関係に処理し(ユーザ空間での処理)、 表示や印刷する際に具体的な解像度を考慮して ピクセルに対応させる (デバイス空間にマッピングする) という考え方を採用しています。
また、これらの平面図形を処理するためのクラス Graphics2D を紹介します。
【参考文献】
Java 2DTM のグラフィックスとイメージングリンク切れ

まとめ

【関連するクラスのクラス階層】


    java.lang.Object
      ├java.awt.geom.AffineTransform
      ├java.awt.geom.Area
      ├java.awt.BasicStroke
      ├java.awt.geom.CubicCurve2D
      │     ├java.awt.geom.CubicCurve2D.Double
      │     └java.awt.geom.CubicCurve2D.Float
      ├java.awt.geom.Dimension2D
      │     └java.awt.Dimension
      ├java.awt.geom.FlatteningPathIterator(インターフェース PathIterator)
      ├java.awt.geom.GeneralPath
      ├java.awt.Graphics
      │     └--java.awt.Graphics2D
      ├java.awt.geom.Line2D
      │     ├java.awt.geom.Line2D.Double
      │     └java.awt.geom.Line2D.Float
      ├java.awt.geom.Point2D
      │     ├java.awt.geom.Point2D.Double
      │     └java.awt.geom.Point2D.Float
      ├java.awt.Polygon
      ├java.awt.geom.QuadCurve2D
      │     ├java.awt.geom.QuadCurve2D.Double
      │     └java.awt.geom.QuadCurve2D.Float
      └java.awt.geom.RectangularShape
             ├java.awt.geom.Arc2D
             │    ├java.awt.geom.Arc2D.Double
             │    └java.awt.geom.Arc2D.Float
             ├java.awt.geom.Ellipse2D
             │    ├java.awt.geom.Ellipse2D.Double
             │    └java.awt.geom.Ellipse2D.Float
             ├java.awt.geom.Rectangle2D
             │    ├java.awt.geom.Rectangle2D.Double
             │    └java.awt.geom.Rectangle2D.Float
             └java.awt.geom.RoundRectangle2D
                   ├java.awt.geom.RoundRectangle2D.Double
                   └java.awt.geom.RoundRectangle2D.Float
    

【関連するインターフェース】

java.awt.Shape
java.awt.geom.PathIterator
java.awt.Paint
java.awt.PaintContext
java.awt.Stroke

更新日:2004-11-01