文档

Java™教程
隐藏目录
几何图形基础知识
路径: 2D 图形
课程: Java 2D API 概念概述

几何图元

Java 2D API提供了一组有用的标准形状,如点、线、矩形、弧线、椭圆和曲线。定义常见几何原语的最重要的包是java.awt.geom包。任意形状可以由直线几何原语的组合表示。

Shape接口表示一个几何形状,它有一个轮廓和一个内部。这个接口提供了一组用于描述和检查二维几何对象的常用方法,并支持曲线线段和多个子形状。Graphics类仅支持直线段。而Shape接口可以支持曲线线段。

有关如何绘制和填充形状的更多详细信息,请参见使用几何图形教程。

Point2D类定义了一个表示在(x, y)坐标空间中的位置的点。在Java 2D API中,“点”一词与像素不同。一个点没有面积,不包含颜色,也无法呈现。

点用于创建其他形状。Point2D类还包括一种计算两个点之间距离的方法。

线段

Line2D类是表示线段的抽象类。线段的坐标可以作为double类型进行检索。Line2D类包括几种用于设置线段端点的方法。

您还可以使用下面描述的GeneralPath类创建直线段。

矩形形状

Rectangle2DRoundRectangle2DArc2DEllipse2D原语都是从RectangularShape类派生的。该类定义了可以由矩形边界框描述的Shape对象的方法。从完全包围Shape轮廓的矩形中可以推断出RectangularShape对象的几何形状。

矩形形状

二次和三次曲线

QuadCurve2D使您能够创建二次参数曲线段。二次曲线由两个端点和一个控制点定义。

CubicCurve2D类使您能够创建三次参数曲线段。三次曲线由两个端点和两个控制点定义。以下是二次和三次曲线的示例。请参见描边和填充图形原语以了解三次和二次曲线的实现。

这个图形代表一个二次曲线。

二次参数曲线

这个图形代表一个三次曲线。

三次参数曲线

任意形状

GeneralPath类允许您通过指定沿形状边界的一系列位置来构建任意形状。这些位置可以通过直线段、二次曲线或三次(贝塞尔)曲线连接。下面的形状可以通过三个直线段和一个三次曲线创建。有关此形状的实现的更多信息,请参见描边和填充图形原语

这个图形代表使用GeneralPath类创建的多边形形状

区域

使用Area类,您可以对任意两个Shape对象执行布尔运算,例如并集、交集和差集。这种技术通常称为构造区域几何,可以快速创建复杂的Shape对象,而无需描述每个线段或曲线。


上一页: Java 2D 渲染
下一页: 文本