다음을 통해 공유


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에서 사용하도록 설계되었으며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgse필요합니다. 코드 예제에서는 한 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 운영 체제에서만 지원됩니다. 플랫폼 간 앱에서 이 형식을 사용하면 컴파일 시간 경고 및 런타임 예외가 발생합니다. 자세한 내용은 Windows만 지원되는 System.Drawing.Common을 참조하세요.

생성자

Region()

Region초기화합니다.

Region(GraphicsPath)

지정된 GraphicsPath사용하여 새 Region 초기화합니다.

Region(Rectangle)

지정된 Rectangle 구조체에서 새 Region 초기화합니다.

Region(RectangleF)

지정된 RectangleF 구조체에서 새 Region 초기화합니다.

Region(RegionData)

지정된 데이터에서 새 Region 초기화합니다.

메서드

Clone()

Region정확한 복사본을 만듭니다.

Complement(GraphicsPath)

Region교차하지 않는 지정된 GraphicsPath 부분을 포함하도록 이 Region 업데이트합니다.

Complement(Rectangle)

RegionRegion교차하지 않는 지정된 Rectangle 구조체의 부분을 포함하도록 업데이트합니다.

Complement(RectangleF)

RegionRegion교차하지 않는 지정된 RectangleF 구조체의 부분을 포함하도록 업데이트합니다.

Complement(Region)

Region교차하지 않는 지정된 Region 부분을 포함하도록 이 Region 업데이트합니다.

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

Region사용되는 모든 리소스를 해제합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
Equals(Region, Graphics)

지정된 Region 지정된 그리기 화면에서 이 Region 동일한지 여부를 테스트합니다.

Exclude(GraphicsPath)

지정된 GraphicsPath교차하지 않는 내부 부분만 포함하도록 이 Region 업데이트합니다.

Exclude(Rectangle)

지정된 Rectangle 구조체와 교차하지 않는 내부 부분만 포함하도록 이 Region 업데이트합니다.

Exclude(RectangleF)

지정된 RectangleF 구조체와 교차하지 않는 내부 부분만 포함하도록 이 Region 업데이트합니다.

Exclude(Region)

지정된 Region교차하지 않는 내부 부분만 포함하도록 이 Region 업데이트합니다.

Finalize()

개체가 리소스를 해제하고 가비지 수집에 의해 회수되기 전에 다른 정리 작업을 수행할 수 있습니다.

FromHrgn(IntPtr)

핸들에서 지정된 기존 GDI 지역으로의 새 Region 초기화합니다.

GetBounds(Graphics)

Graphics 개체의 그리기 화면에서 이 Region 경계를 지정하는 사각형을 나타내는 RectangleF 구조를 가져옵니다.

GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetHrgn(Graphics)

지정된 그래픽 컨텍스트에서 이 Region Windows 핸들을 반환합니다.

GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetRegionData()

Region설명하는 정보를 나타내는 RegionData 반환합니다.

GetRegionScans(Matrix)

지정된 행렬 변환이 적용된 후 이 Region 근사하는 RectangleF 구조체의 배열을 반환합니다.

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)

지정된 MatrixRegion 변환합니다.

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자체의 교집합을 뺀 합집합으로 업데이트합니다.

적용 대상

추가 정보