클립 경로
클리핑 영역과 마찬가지로 클립 경로는 애플리케이션이 디바이스 컨텍스트로 선택할 수 있는 또 다른 그래픽 개체입니다. 클리핑 영역과 달리 클립 경로는 항상 애플리케이션에서 생성되며 하나 이상의 불규칙한 셰이프에 클리핑하는 데 사용됩니다. 예를 들어 애플리케이션은 텍스트 문자열의 문자 윤곽선을 형성하는 선과 곡선을 사용하여 클립 경로를 정의할 수 있습니다.
클립 경로를 만들려면 먼저 필요한 불규칙한 모양을 설명하는 경로를 만들어야 합니다. 경로는 BeginPath 함수를 호출한 후 EndPath 함수를 호출하기 전에 적절한 GDI(그래픽 디바이스 인터페이스) 그리기 함수를 호출하여 생성됩니다. 이 함수 컬렉션을 경로 대괄호라고 합니다. 경로 및 경로 대괄호에 대한 자세한 내용은 경로를 참조 하세요.
경로가 만들어지면 SelectClipPath 함수를 호출하고, 디바이스 컨텍스트를 식별하고, 사용 모드를 지정하여 클립 경로로 변환할 수 있습니다. 사용 모드는 시스템이 새 클립 경로를 디바이스 컨텍스트의 원래 클리핑 영역과 결합하는 방법을 결정합니다. 다음 표에서는 사용 모드에 대해 설명합니다.
Mode | Description |
---|---|
RGN_AND | 클립 경로에는 디바이스 컨텍스트의 클리핑 영역과 현재 경로의 교차(겹치는 영역)가 포함됩니다. |
RGN_COPY | 클립 경로가 현재 경로입니다. |
RGN_DIFF | 클립 경로에는 현재 경로의 교차 부분이 제외된 디바이스 컨텍스트의 클리핑 영역이 포함됩니다. |
RGN_OR | 클립 경로에는 디바이스 컨텍스트의 클리핑 영역과 현재 경로의 공용 구조체(결합된 영역)가 포함됩니다. |
RGN_XOR | 클립 경로는 디바이스 컨텍스트의 클리핑 영역과 현재 경로의 합집합을 포함하지만 교차를 제외합니다. |