GDI+의 영역

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

직사각형에서 생성된 영역의 스크린샷 및 경로에서 생성된 영역의 스크린샷.

영역 사용

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

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

두 영역의 교차는 두 영역 모두에 속하는 모든 점 세트입니다. 공용 구조체는 두 영역 중 어느 하나 또는 두 영역 모두에 속하는 모든 점 세트입니다. 영역의 보수는 영역에 없는 모든 점 세트입니다. 다음 그림에서는 선행 그림에 나타난 두 영역의 교차 및 공용 구조체를 보여줍니다.

앞의 그림에서 두 영역의 교집합 및 합집합 스크린샷.

영역 쌍에 적용된 Xor 메서드는 두 영역 모두에 속하지 않고, 두 영역 중 한 영역에 속하는 모든 점을 포함하는 영역을 생성합니다. 영역 쌍에 적용된 Exclude 메서드는 두 번째 영역에는 없고 첫 번째 영역에 있는 모든 점을 포함하는 영역을 생성합니다. 다음 그림에서는 이 항목을 시작할 때 표시된 두 영역에 XorExclude 메서드를 적용할 때 생성되는 영역을 보여줍니다.

이전 그림의 두 영역에 적용된 Xor 메서드 결과 및 Exclude 메서드 결과의 스크린샷.

영역을 채우려면 Graphics 개체, Brush 개체 및 Region 개체가 필요합니다. Graphics 개체는 FillRegion 메서드를 제공하고, Brush 개체는 색상이나 패턴과 같은 채우기 특성을 저장합니다. 다음 예는 영역을 단색으로 채웁니다.

myGraphics.FillRegion(mySolidBrush, myRegion);
myGraphics.FillRegion(mySolidBrush, myRegion)

참고 항목