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