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 — 塗りつぶしのみ(現在の塗りつぶし色およびノンゼロワインディングルールを使用); 2 — 塗りつぶしとアウトライン |
|---|
Return values
| 0 | 失敗しました — PathOptions が範囲外であるか、ドキュメントが開かれていないか、またはパスが開始されていません |
|---|---|
| 1 | パスが正常に描画されました |
Remarks
DrawPath を呼び出す前に、線と塗りの色、および線属性(SetLineWidth、SetLineCap、SetLineDash)を設定してください;現在のグラフィックス状態は呼び出し時にサンプリングされます
パスが重複または自己交差している場合、ノンゼロワインディングルールはすべてのサブパスを同じ領域の一部として処理します:大きな形状から切り取られた穴は、内側のサブパスが外側のサブパスと逆方向に巻く必要があります;それが不便な場合は、代わりに 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