DrawPath
Vector graphics, Path definition and drawing
Description
non-zero winding 채우기 규칙을 사용하여 StartPath, AddLineToPath, AddCurveToPath, AddArcToPath 및 ClosePath에 의해 조립된 현재 경로를 칠함; 경로가 그려진 후 경로 상태가 재설정되므로 다음 StartPath는 새 모양을 시작함
Syntax
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parameters
| PathOptions | 그리기 모드: 0 — 아웃라인만 (현재 선 설정으로 스트로크) 1 — 채우기만 (현재 채우기 색상 및 non-zero winding 규칙 사용) 2 — 채우기 및 아웃라인 |
|---|
Return values
| 0 | 실패 — PathOptions가 범위를 벗어났거나 문서가 열려 있지 않거나 경로가 시작되지 않았음 |
|---|---|
| 1 | 경로가 성공적으로 그려졌습니다 |
Remarks
DrawPath를 호출하기 전에 획 및 채우기 색상과 선 특성(SetLineWidth, SetLineCap, SetLineDash)을 설정합니다; 현재 그래픽 상태는 호출 시점에 샘플링됩니다
겹치거나 자체 교차하는 경로의 경우 non-zero winding 규칙은 모든 하위 경로를 동일한 영역의 일부로 처리함: 더 큰 모양에서 잘라낸 구멍은 내부 하위 경로가 외부와 반대 방향으로 회전해야 함; 그것이 불편한 경우 대신 DrawPathEvenOdd를 호출함 — even-odd 규칙은 각 교차 지점에서 안쪽과 바깥쪽을 단순히 번갈아 가며 처리하므로 펀칭 아웃 구멍을 쉽게 만들 수 있음
Example
// Filled outlined diamond
PDF.SetStrokeColor(0, 0, 0);
PDF.SetFillColor(0.6, 0.8, 1);
PDF.SetLineWidth(1.5);
PDF.StartPath(150, 100);
PDF.AddLineToPath(200, 150);
PDF.AddLineToPath(150, 200);
PDF.AddLineToPath(100, 150);
PDF.ClosePath;
PDF.DrawPath(2); // 2 = fill and outlineSee also
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth