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 對象,一次一段。
總結
以上是生活随笔為你收集整理的java geom_java.awt.geom 类 Area - Java 中文参考手册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flask mysql 版本_Flask
- 下一篇: 大家说说简燚大理石瓷砖属于一线品牌瓷砖吗