共用方式為


Region 類別

定義

描述由矩形和路徑組成的圖形圖形內部。 無法繼承這個類別。

public ref class Region sealed : MarshalByRefObject, IDisposable
public sealed class Region : MarshalByRefObject, IDisposable
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class Region : MarshalByRefObject, IDisposable
type Region = class
    inherit MarshalByRefObject
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type Region = class
    inherit MarshalByRefObject
    interface IDisposable
Public NotInheritable Class Region
Inherits MarshalByRefObject
Implements IDisposable
繼承
屬性
實作

範例

下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse,這是 Paint 事件處理程式的參數。 程式代碼範例示範如何使用某個 RegionData 物件的 Data,為另一個 RegionData設定 Data

private:
   void DemonstrateRegionData2( PaintEventArgs^ e )
   {
      //Create a simple region.
      System::Drawing::Region^ region1 = gcnew System::Drawing::Region( Rectangle(10,10,100,100) );

      // Extract the region data.
      System::Drawing::Drawing2D::RegionData^ region1Data = region1->GetRegionData();
      array<Byte>^data1;
      data1 = region1Data->Data;

      // Create a second region.
      System::Drawing::Region^ region2 = gcnew System::Drawing::Region;

      // Get the region data for the second region.
      System::Drawing::Drawing2D::RegionData^ region2Data = region2->GetRegionData();

      // Set the Data property for the second region to the Data from the first region.
      region2Data->Data = data1;

      // Construct a third region using the modified RegionData of the second region.
      System::Drawing::Region^ region3 = gcnew System::Drawing::Region( region2Data );

      // Dispose of the first and second regions.
      delete region1;
      delete region2;

      // Call ExcludeClip passing in the third region.
      e->Graphics->ExcludeClip( region3 );

      // Fill in the client rectangle.
      e->Graphics->FillRectangle( Brushes::Red, this->ClientRectangle );
      delete region3;
   }
private void DemonstrateRegionData2(PaintEventArgs e)
{

    //Create a simple region.
    Region region1 = new Region(new Rectangle(10, 10, 100, 100));

    // Extract the region data.
    System.Drawing.Drawing2D.RegionData region1Data = region1.GetRegionData();
    byte[] data1;
    data1 = region1Data.Data;

    // Create a second region.
    Region region2 = new Region();

    // Get the region data for the second region.
    System.Drawing.Drawing2D.RegionData region2Data = region2.GetRegionData();

    // Set the Data property for the second region to the Data from the first region.
    region2Data.Data = data1;

    // Construct a third region using the modified RegionData of the second region.
    Region region3 = new Region(region2Data);

    // Dispose of the first and second regions.
    region1.Dispose();
    region2.Dispose();

    // Call ExcludeClip passing in the third region.
    e.Graphics.ExcludeClip(region3);

    // Fill in the client rectangle.
    e.Graphics.FillRectangle(Brushes.Red, this.ClientRectangle);

    region3.Dispose();
}
Private Sub DemonstrateRegionData2(ByVal e As PaintEventArgs)

    'Create a simple region.
    Dim region1 As New Region(New Rectangle(10, 10, 100, 100))

    ' Extract the region data.
    Dim region1Data As System.Drawing.Drawing2D.RegionData = region1.GetRegionData
    Dim data1() As Byte
    data1 = region1Data.Data

    ' Create a second region.
    Dim region2 As New Region

    ' Get the region data for the second region.
    Dim region2Data As System.Drawing.Drawing2D.RegionData = region2.GetRegionData()

    ' Set the Data property for the second region to the Data from the first region.
    region2Data.Data = data1

    ' Construct a third region using the modified RegionData of the second region.
    Dim region3 As New Region(region2Data)

    ' Dispose of the first and second regions.
    region1.Dispose()
    region2.Dispose()

    ' Call ExcludeClip passing in the third region.
    e.Graphics.ExcludeClip(region3)

    ' Fill in the client rectangle.
    e.Graphics.FillRectangle(Brushes.Red, Me.ClientRectangle)

    region3.Dispose()

End Sub

備註

區域可調整,因為其座標是在世界座標中指定。 不過,在繪圖介面上,其內部取決於代表它的圖元大小和形狀。 應用程式可以使用區域來裁剪繪圖作業的輸出。 這些區域稱為裁剪區域。 如需使用區域進行裁剪的詳細資訊,請參閱 如何:搭配區域使用裁剪

應用程式也可以在點擊測試作業中使用區域,例如檢查某個點或矩形是否與區域交集。 如需使用區域進行點擊測試的詳細資訊,請參閱 如何:搭配區域使用點擊測試

應用程式可以使用 Graphics.FillRegion 方法和 Brush 物件來填滿區域。

注意

在 .NET 6 和更新版本中,System.Drawing.Common 套件,僅支援 Windows 操作系統。 在跨平臺應用程式中使用此類型會導致編譯時期警告和運行時間例外狀況。 如需詳細資訊,請參閱僅支援 WindowsSystem.Drawing.Common。

建構函式

Region()

初始化新的 Region

Region(GraphicsPath)

使用指定的 GraphicsPath,初始化新的 Region

Region(Rectangle)

從指定的 Rectangle 結構初始化新的 Region

Region(RectangleF)

從指定的 RectangleF 結構初始化新的 Region

Region(RegionData)

從指定的數據初始化新的 Region

方法

Clone()

建立這個 Region的確切複本。

Complement(GraphicsPath)

更新此 Region,以包含未與這個 Region相交的指定 GraphicsPath 部分。

Complement(Rectangle)

更新此 Region,以包含未與這個 Region相交之指定 Rectangle 結構的部分。

Complement(RectangleF)

更新此 Region,以包含未與這個 Region相交之指定 RectangleF 結構的部分。

Complement(Region)

更新此 Region,以包含未與這個 Region相交的指定 Region 部分。

CreateObjRef(Type)

建立物件,其中包含產生用來與遠端物件通訊之 Proxy 所需的所有相關信息。

(繼承來源 MarshalByRefObject)
Dispose()

釋放此 Region所使用的所有資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Equals(Region, Graphics)

測試指定的 Region 是否與指定的繪圖介面上的這個 Region 相同。

Exclude(GraphicsPath)

更新此 Region,只包含其內部部分,但未與指定的 GraphicsPath相交。

Exclude(Rectangle)

更新此 Region,只包含其內部與指定之 Rectangle 結構不相交的部分。

Exclude(RectangleF)

更新此 Region,只包含其內部與指定之 RectangleF 結構不相交的部分。

Exclude(Region)

更新此 Region,只包含其內部部分,但未與指定的 Region相交。

Finalize()

允許對象嘗試釋放資源,並在垃圾收集回收之前執行其他清除作業。

FromHrgn(IntPtr)

從句柄初始化新的 Region 至指定的現有 GDI 區域。

GetBounds(Graphics)

取得 RectangleF 結構,表示 Graphics 對象繪圖介面上系結這個 Region 的矩形。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetHrgn(Graphics)

傳回指定圖形內容中這個 Region 的 Windows 句柄。

GetLifetimeService()
已淘汰.

擷取控制這個實例存留期原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetRegionData()

傳回 RegionData,表示描述此 Region的資訊。

GetRegionScans(Matrix)

傳回套用指定矩陣轉換之後近似此 RegionRectangleF 結構的陣列。

GetType()

取得目前實例的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個實例的存留期原則。

(繼承來源 MarshalByRefObject)
Intersect(GraphicsPath)

將此 Region 更新為本身與指定之 GraphicsPath交集。

Intersect(Rectangle)

將此 Region 更新為本身與指定之 Rectangle 結構的交集。

Intersect(RectangleF)

將此 Region 更新為本身與指定之 RectangleF 結構的交集。

Intersect(Region)

將此 Region 更新為本身與指定之 Region交集。

IsEmpty(Graphics)

測試這個 Region 在指定的繪圖介面上是否有空的內部。

IsInfinite(Graphics)

測試這個 Region 在指定的繪圖介面上是否有無限的內部。

IsVisible(Int32, Int32, Graphics)

使用指定的 Graphics 物件繪製時,測試指定的點是否包含在這個 Region 物件內。

IsVisible(Int32, Int32, Int32, Int32)

測試指定矩形的任何部分是否包含在這個 Region中。

IsVisible(Int32, Int32, Int32, Int32, Graphics)

測試使用指定的 Graphics繪製時,指定矩形的任何部分是否包含在這個 Region 中。

IsVisible(Point)

測試指定的 Point 結構是否包含在這個 Region中。

IsVisible(Point, Graphics)

使用指定的 Graphics繪製時,測試指定的 Point 結構是否包含在這個 Region 中。

IsVisible(PointF)

測試指定的 PointF 結構是否包含在這個 Region中。

IsVisible(PointF, Graphics)

使用指定的 Graphics繪製時,測試指定的 PointF 結構是否包含在這個 Region 中。

IsVisible(Rectangle)

測試指定之 Rectangle 結構的任何部分是否包含在這個 Region中。

IsVisible(Rectangle, Graphics)

測試使用指定的 Graphics繪製時,指定之 Rectangle 結構的任何部分是否包含在這個 Region 中。

IsVisible(RectangleF)

測試指定之 RectangleF 結構的任何部分是否包含在這個 Region中。

IsVisible(RectangleF, Graphics)

測試使用指定的 Graphics繪製時,指定之 RectangleF 結構的任何部分是否包含在這個 Region 中。

IsVisible(Single, Single)

測試指定的點是否包含在這個 Region中。

IsVisible(Single, Single, Graphics)

使用指定的 Graphics繪製時,測試指定的點是否包含在這個 Region 中。

IsVisible(Single, Single, Single, Single)

測試指定矩形的任何部分是否包含在這個 Region中。

IsVisible(Single, Single, Single, Single, Graphics)

測試使用指定的 Graphics繪製時,指定矩形的任何部分是否包含在這個 Region 中。

MakeEmpty()

將此 Region 初始化為空的內部。

MakeInfinite()

將此 Region 物件初始化為無限內部。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 對象的淺層複本。

(繼承來源 MarshalByRefObject)
ReleaseHrgn(IntPtr)

釋放 Region的句柄。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
Transform(Matrix)

由指定的 Matrix轉換這個 Region

Translate(Int32, Int32)

依指定的量位移這個 Region 座標。

Translate(Single, Single)

依指定的量位移這個 Region 座標。

Union(GraphicsPath)

將此 Region 更新為本身的聯集和指定的 GraphicsPath

Union(Rectangle)

將此 Region 更新為本身的聯集和指定的 Rectangle 結構。

Union(RectangleF)

將此 Region 更新為本身的聯集和指定的 RectangleF 結構。

Union(Region)

將此 Region 更新為本身的聯集和指定的 Region

Xor(GraphicsPath)

將此 Region 更新為等位減去本身與指定之 GraphicsPath的交集。

Xor(Rectangle)

將此 Region 更新為聯集減去本身與指定之 Rectangle 結構的交集。

Xor(RectangleF)

將此 Region 更新為聯集減去本身與指定之 RectangleF 結構的交集。

Xor(Region)

將此 Region 更新為等位減去本身與指定之 Region的交集。

適用於

另請參閱