區域 (GDI+)

區域是顯示介面的一部分。 區域可以是簡單的 (單一矩形) 或複雜 (多邊形和封閉曲線的組合) 。 下圖顯示兩個區域:一個從矩形建構,另一個從路徑建構。

顯示透明矩形區域重迭不透明弧形的圖例

區域通常用於裁剪和點擊測試。 裁剪牽涉到將繪圖限制為螢幕的特定區域,通常是需要更新的螢幕部分。 點擊測試牽涉到檢查游標是否在按下滑鼠按鍵時,螢幕的特定區域。

您可以從矩形或路徑建構區域。 您也可以結合現有的區域來建立複雜的區域。 Region類別提供下列結合區域的方法:IntersectUnionXorExcludeRegion::Complement

兩個區域的交集是屬於這兩個區域的所有點集合。 聯集是屬於一或另一個或兩個區域的所有點集合。 區域的補數是不在區域中的所有點集合。 下圖顯示上圖中兩個區域的交集和聯集。

顯示上圖中區域交集及其交集的圖例

套用至一對區域的 Xor 方法會產生一個區域,其中包含屬於一個區域或其他區域的所有點,但不包含兩者。 Exclude方法會套用至一組區域,產生區域,其中包含第一個區域中不在第二個區域中的所有點。 下圖顯示將 Xor 和 Exclude 方法套用至本主題開頭所示的兩個區域所產生的區域。

圖例顯示任一區域中的元件,但不同時顯示兩者,以及未與曲線區域重迭的矩形部分

若要填滿區域,您需要 Graphics 物件、 Brush 物件和 Region 物件。 Graphics物件提供Graphics::FillRegion方法,而 Brush物件會儲存填滿的屬性,例如色彩或圖樣。 下列範例會以純色填滿區域。

myGraphics.FillRegion(&mySolidBrush, &myRegion);