DrawPath
ベクターグラフィックス、パスの定義と描画
説明
StartPath、AddLineToPath、AddCurveToPath、AddArcToPath、ClosePath で構築した現在のパスを non-zero winding 規則で描画します。描画後にパス状態がリセットされ、次の StartPath は新しい図形を開始します
構文
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
パラメータ
| PathOptions | 描画モード: 0 — 輪郭だけ(現在の線設定でストローク) 1 — 塗りつぶしだけ(現在の塗りつぶし色と非ゼロワインディング規則を使用) 2 — 塗りつぶしと輪郭 |
|---|
戻り値
| 0 | 失敗 — PathOptions が範囲外、文書が開かれていない、またはパスが開始されていません |
|---|---|
| 1 | パスは正常に描画された |
備考
ストローク色、塗りつぶし色、および線属性(SetLineWidth、SetLineCap、SetLineDash)は、必ず先に設定してから DrawPath を呼び出します。現在のグラフィックス状態は呼び出し位置で取得されます
重複または自己交差するパスでは、非ゼロワインディング規則がすべてのサブパスを同じ領域の一部として扱います。大きな図形に穴を開けるには、内側サブパスを外側とは逆方向に巻く必要があります。それが不便な場合は、代わりに DrawPathEvenOdd を呼び出します — 偶奇規則は交差ごとに内側と外側を切り替えるだけなので、抜き穴を簡単に作成できます
例
// 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関連項目
DrawPathEvenOdd、StartPath、AddLineToPath、AddCurveToPath、AddArcToPath、ClosePath、SetLineWidth