java geom_java.awt.geom 类 Area - Java 中文参考手册
java.lang.Object
java.awt.geom.Area
所有已实现的接口:Shape, Cloneable
public class Areaextends Objectimplements Shape, Cloneable
Area 类是任意形状区域的与设备无关的规范。Area 对象是作为对其他封闭区域的几何形状(如矩形、椭圆形和多边形)执行某些二进制 CAG(构造区域几何图形,Constructive Area Geometry)操作的对象而定义的。CAG 操作包括 Add(union)、Subtract、Intersect 和 ExclusiveOR。例如,一个 Area 可以由一个矩形区域减去一个椭圆形区域组成。
构造方法摘要
Area()
创建空区域的默认构造方法。
Area(Shapes)
Area 类可以根据指定的 Shape 对象创建区域几何形状。
方法摘要
void
add(Arearhs)
将指定 Area 的形状添加到此 Area 的形状中。
Object
clone()
返回此 Area 对象的确切副本。
boolean
contains(doublex,
doubley)
测试指定点是否位于此 Area 对象的边界内。
boolean
contains(doublex,
doubley,
doublew,
doubleh)
测试此 Area 对象的内部是否完全包含指定的矩形区域。
boolean
contains(Point2Dp)
测试指定的 Point2D 是否位于此 Area 对象的边界内。
boolean
contains(Rectangle2Dp)
测试此 Area 对象的内部是否完全包含指定的 Rectangle2D。
Area
createTransformedArea(AffineTransformt)
创建一个新 Area 对象,使它与由指定 AffineTransform 变换的 Area 包含相同的几何形状。
boolean
equals(Areaother)
测试两个 Area 对象的几何形状是否相等。
void
exclusiveOr(Arearhs)
将此 Area 的形状设置为其当前形状与指定 Area 形状的组合区域,并减去其交集。
Rectangle
getBounds()
返回完全包围此 Area 的边界 Rectangle。
Rectangle2D
getBounds2D()
返回完全包围此 Area 的高精度边界 Rectangle2D。
PathIterator
getPathIterator(AffineTransformat)
为此 Area 对象的轮廓创建 PathIterator。
PathIterator
getPathIterator(AffineTransformat,
doubleflatness)
为此 Area 对象的变平轮廓创建 PathIterator。
void
intersect(Arearhs)
将此 Area 的形状设置为其当前形状与指定 Area 形状的交集。
boolean
intersects(doublex,
doubley,
doublew,
doubleh)
测试此 Area 对象的内部是否与指定矩形区域的内部相交。
boolean
intersects(Rectangle2Dp)
测试此 Area 对象的内部是否与指定 Rectangle2D 的内部相交。
boolean
isEmpty()
测试此 Area 对象是否包括其他区域。
boolean
isPolygonal()
测试此 Area 是否完全由直边多边形组成。
boolean
isRectangular()
测试此 Area 的形状是否是矩形。
boolean
isSingular()
测试此 Area 是否由单个封闭子路径组成。
void
reset()
从此 Area 删除所有几何形状,将其恢复为空区域。
void
subtract(Arearhs)
从此 Area 的形状中减去指定 Area 的形状。
void
transform(AffineTransformt)
使用指定的 AffineTransform 变换此 Area 的几何形状。
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
构造方法详细信息
Area
public Area()
创建空区域的默认构造方法。
Area
public Area(Shapes)
Area 类可以根据指定的 Shape 对象创建区域几何形状。如果 Shape 还不是封闭的,则显式地封闭几何形状。由 Shape 的几何形状指定的填充规则(奇偶或缠绕)用于确定所产生的封闭区域。
参数:s – 用于构造区域的 Shape
方法详细信息
add
public void add(Arearhs)
将指定 Area 的形状添加到此 Area 的形状中。添加操作是通过 union 实现的。
参数:rhs – 要添加到当前形状的 Area
subtract
public void subtract(Arearhs)
从此 Area 的形状中减去指定 Area 的形状。
参数:rhs – 要从当前形状减去的 Area
intersect
public void intersect(Arearhs)
将此 Area 的形状设置为其当前形状与指定 Area 形状的交集。
参数:rhs – 要与此 Area 相交的 Area
exclusiveOr
public void exclusiveOr(Arearhs)
将此 Area 的形状设置为其当前形状与指定 Area 形状的组合区域,并减去其交集。
参数:rhs – 要与此 Area 进行异或运算的 Area。
reset
public void reset()
从此 Area 删除所有几何形状,将其恢复为空区域。
isEmpty
public boolean isEmpty()
测试此 Area 对象是否包括其他区域。
返回:如果此 Area 对象表示空区域,则返回 true;否则返回 false。
isPolygonal
public boolean isPolygonal()
测试此 Area 是否完全由直边多边形组成。
返回:如果此 Area 全部由线段组成,则返回 true;否则返回 false。
isRectangular
public boolean isRectangular()
测试此 Area 的形状是否是矩形。
返回:如果此 Area 的几何形状是矩形,则返回 true;否则返回 false。
isSingular
public boolean isSingular()
测试此 Area 是否由单个封闭子路径组成。如果路径包含 0 个或 1 个子路径,则此方法返回 true;如果路径包含 1 个以上的子路径,则返回 false。子路径是根据路径中出现的 SEG_MOVETO 段数来计算的。
返回:如果 Area 由单个基本几何形状组成,则返回 true;否则返回 false。
getBounds2D
public Rectangle2D getBounds2D()
返回完全包围此 Area 的高精度边界 Rectangle2D。
Area 类将尽量为 Shape 返回可能的最紧密的边界框。不要填充边界框以包含 Shape 轮廓上的曲线的控制点,而应该让边界框紧密地适合轮廓本身的实际几何形状。
指定者:接口 Shape 中的 getBounds2D
返回:Area 的边界 Rectangle2D。另请参见:Shape.getBounds()
getBounds
public Rectangle getBounds()
返回完全包围此 Area 的边界 Rectangle。
Area 类将尽量为 Shape 返回可能的最紧密的边界框。不要填充边界框以包含 Shape 轮廓上的曲线的控制点,而应该让边界框紧密地适合轮廓本身的实际几何形状。因为返回的对象使用整数表示边界框,所以边界框只能是围绕 Shape 几何形状尽可能紧密的整数坐标。
指定者:接口 Shape 中的 getBounds
返回:Area 的边界 Rectangle。另请参见:Shape.getBounds2D()
clone
public Object clone()
返回此 Area 对象的确切副本。
覆盖:类 Object 中的 clone
返回:创建的克隆对象另请参见:Cloneable
equals
public boolean equals(Areaother)
测试两个 Area 对象的几何形状是否相等。
参数:other – 要与此 Area 比较的 Area返回:如果两个几何形状相等,则返回 true;否则返回 false。
transform
public void transform(AffineTransformt)
使用指定的 AffineTransform 变换此 Area 的几何形状。原地变换几何形状,它将永久更改由此对象定义的封闭区域。
参数:t – 用于变换区域的变换
createTransformedArea
public Area createTransformedArea(AffineTransformt)
创建一个新 Area 对象,使它与由指定 AffineTransform 变换的 Area 包含相同的几何形状。此 Area 对象不改变。
参数:t – 用于变换新 Area 的指定 AffineTransform返回:a 表示变换了的几何形状的新 Area 对象。
contains
public boolean contains(doublex,
doubley)
测试指定点是否位于此 Area 对象的边界内。
指定者:接口 Shape 中的 contains
参数:x,y – 指定的点返回:如果点完全位于 Area 的内部,则返回 true;否则返回 false。
contains
public boolean contains(Point2Dp)
测试指定的 Point2D 是否位于此 Area 对象的边界内。
指定者:接口 Shape 中的 contains
参数:p – 要测试的 Point2D返回:如果指定的 Point2D 完全位于 Area 的内部,则返回 true;否则返回 false。
contains
public boolean contains(doublex,
doubley,
doublew,
doubleh)
测试此 Area 对象的内部是否完全包含指定的矩形区域。
指定者:接口 Shape 中的 contains
参数:x,y – 指定矩形区域左上角的坐标w – 指定矩形区域的宽度h – 指定矩形区域的高度返回:如果指定的矩形区域完全位于 Area 的内部,则返回 true;否则返回 false。另请参见:Area,
Shape.intersects(double, double, double, double)
contains
public boolean contains(Rectangle2Dp)
测试此 Area 对象的内部是否完全包含指定的 Rectangle2D。
指定者:接口 Shape 中的 contains
参数:p – 要测试的 Rectangle2D返回:如果指定的 Rectangle2D 完全位于 Area 的内部,则返回 true;否则返回 false。另请参见:Shape.contains(double, double, double, double)
intersects
public boolean intersects(doublex,
doubley,
doublew,
doubleh)
测试此 Area 对象的内部是否与指定矩形区域的内部相交。
指定者:接口 Shape 中的 intersects
参数:x,y – 指定矩形区域左上角的坐标w – 指定矩形区域的宽度h – 指定矩形区域的高度返回:如果内部与矩形区域相交,则返回 true;否则返回 false。另请参见:Area
intersects
public boolean intersects(Rectangle2Dp)
测试此 Area 对象的内部是否与指定 Rectangle2D 的内部相交。
指定者:接口 Shape 中的 intersects
参数:p – 要测试是否相交的 Rectangle2D返回:如果内部与 Rectangle2D 相交,则返回 true;否则返回 false。另请参见:Shape.intersects(double, double, double, double)
getPathIterator
public PathIterator getPathIterator(AffineTransformat)
为此 Area 对象的轮廓创建 PathIterator。此 Area 对象不改变。
指定者:接口 Shape 中的 getPathIterator
参数:at – 一个可选的 AffineTransform,用于在迭代中返回的坐标,如果需要未变换的坐标,则为 null返回:返回此 Area 轮廓几何形状的 PathIterator 对象,一次一段。
getPathIterator
public PathIterator getPathIterator(AffineTransformat,
doubleflatness)
为此 Area 对象的变平轮廓创建 PathIterator。迭代器只返回由 SEG_MOVETO、SEG_LINETO 和 SEG_CLOSE 点类型所表示的非曲线路径段。此 Area 对象不改变。
指定者:接口 Shape 中的 getPathIterator
参数:at – 一个可选的 AffineTransform,用于迭代中返回的坐标,如果需要未变换的坐标,则为 nullflatness – 在由连接端点的直线取代细分曲线之前,给定曲线的控制点可以从共线变化的最大量返回:返回此 Area 轮廓几何形状的 PathIterator 对象,一次一段。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
