DrawPath

Vector graphics, Path definition and drawing

Description

non-zero winding 채우기 규칙을 사용하여 StartPath, AddLineToPath, AddCurveToPath, AddArcToPathClosePath에 의해 조립된 현재 경로를 칠함; 경로가 그려진 후 경로 상태가 재설정되므로 다음 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 outline

See also

DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth