DrawPathEvenOdd

벡터 그래픽, 경로 정의 및 그리기

설명

현재 경로를 홀짝 채우기 규칙으로 칠하며, 이는 DrawPath에서 사용하는 0이 아닌 감기 규칙과 다릅니다. 홀짝 규칙에서는 한 점에서 그은 광선이 경로를 홀수 번 교차하면 그 점이 경로 "내부"에 있는 것으로 간주됩니다. 따라서 하위 경로 방향을 고려하지 않아도 겹치는 하위 경로가 채워진 띠와 비어 있는 띠로 번갈아 나타납니다

구문

Delphi

Function TPDFlib.DrawPathEvenOdd(PathOptions: Integer): Integer;

ActiveX

Function PDFlib::DrawPathEvenOdd(PathOptions As Long) As Long

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

매개변수

PathOptions그리기 모드:

0 — 윤곽선만
1 — 채우기만(홀짝 규칙)
2 — 채우기 및 윤곽선

반환 값

0실패 — PathOptions가 범위를 벗어났거나 문서가 열려 있지 않거나 경로가 시작되지 않았습니다
1경로를 성공적으로 칠했습니다

비고

도넛, 와셔 또는 큰 윤곽선 안에 구멍을 뚫는 도형을 만들 때 홀짝 규칙을 사용합니다 DrawPath에서 사용하는 0이 아닌 감기 규칙에서는 내부 하위 경로를 반대 방향으로 그려야 같은 구성이 작동하지만 홀짝 규칙에서는 방향이 중요하지 않습니다

예제

// A filled square with a circular hole cut through it (donut)
PDF.SetFillColor(0, 0.4, 0.7);

PDF.StartPath(100, 100);
PDF.AddLineToPath(200, 100);
PDF.AddLineToPath(200, 200);
PDF.AddLineToPath(100, 200);
PDF.ClosePath;

// Inner circle — direction does not matter under even-odd
PDF.StartPath(170, 150);            // start on the right side of the circle
PDF.AddArcToPath(150, 150, 360);    // centre (150, 150), full revolution
PDF.ClosePath;

PDF.DrawPathEvenOdd(1);                // 1 = fill

참고 항목

DrawPath, StartPath, AddArcToPath, ClosePath