영역(GDI+)

영역은 디스플레이 화면의 일부입니다. 영역은 단순(단일 직사각형) 또는 복합(다각형과 닫힌 곡선의 조합)일 수 있습니다. 다음 그림에서는 두 개의 영역을 보여주는데, 하나는 직사각형에서 생성된 영역이고, 다른 하나는 경로에서 생성된 영역입니다.

불투명 곡선 도형과 겹치는 투명한 사각형 영역을 보여 주는 그림

영역이 클리핑 및 적중 횟수 테스트에 사용되는 경우도 있습니다. 클리핑에는 그리기를 화면의 특정 영역(일반적으로 업데이트해야 하는 화면 부분)으로 제한하는 작업이 포함됩니다. 적중 횟수 테스트에는 마우스 단추를 누를 때 커서가 화면의 특정 영역에 있는지 확인하는 작업이 포함됩니다.

사각형 또는 경로에서 영역을 생성할 수 있습니다. 또한 기존 영역을 결합하여 복합 영역을 만들 수도 있습니다. Region 클래스는 지역 결합을 위해 Intersect, Union, Xor, ExcludeRegion::Complement 메서드를 제공합니다.

두 영역의 교차는 두 영역 모두에 속하는 모든 점 세트입니다. 공용 구조체는 두 영역 중 어느 하나 또는 두 영역 모두에 속하는 모든 점 세트입니다. 영역의 보수는 영역에 없는 모든 점 세트입니다. 다음 그림에서는 이전 그림에서 두 지역의 교집합과 합집합을 보여 줍니다.

이전 그림에서 영역의 교집합 및 교차를 보여 주는 그림

지역 쌍에 적용된 Xor 메서드는 한 지역 또는 다른 지역에 속하지만 둘 다에 속하지 않는 모든 점을 포함하는 지역을 생성합니다. 지역 쌍에 적용된 Exclude 메서드는 두 번째 지역에 없는 첫 번째 지역의 모든 점을 포함하는 지역을 생성합니다. 다음 그림에서는 이 항목의 시작 부분에 표시된 두 지역에 Xor 및 Exclude 메서드를 적용하여 발생하는 지역을 보여 줍니다.

두 지역 모두에 속하지 않는 부분과 곡선 영역과 겹치지 않는 사각형 부분을 보여 주는 그림

지역을 채우려면 Graphics 개체, Brush 개체 및 Region 개체가 필요합니다. Graphics 개체는 Graphics::FillRegion 메서드를 제공하며 Brush 개체는 채우기의 특성(예: 색 또는 패턴)을 저장합니다. 다음 예는 영역을 단색으로 채웁니다.

myGraphics.FillRegion(&mySolidBrush, &myRegion);