DrawPath

Vector graphics, Path definition and drawing

Description

ノンゼロワインディング(non-zero winding)塗りつぶしルールを使用して、StartPathAddLineToPathAddCurveToPathAddArcToPath、および 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 — 塗りつぶしのみ(現在の塗りつぶし色およびノンゼロワインディングルールを使用);
2 — 塗りつぶしとアウトライン

Return values

0失敗しました — PathOptions が範囲外であるか、ドキュメントが開かれていないか、またはパスが開始されていません
1パスが正常に描画されました

Remarks

DrawPath を呼び出すに、線と塗りの色、および線属性(SetLineWidthSetLineCapSetLineDash)を設定してください;現在のグラフィックス状態は呼び出し時にサンプリングされます

パスが重複または自己交差している場合、ノンゼロワインディングルールはすべてのサブパスを同じ領域の一部として処理します:大きな形状から切り取られた穴は、内側のサブパスが外側のサブパスと逆方向に巻く必要があります;それが不便な場合は、代わりに 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