DrawPath
Grafică vectorială, Definirea și trasarea traseelor
Descriere
Pictează traseul curent — asamblat de StartPath, AddLineToPath, AddCurveToPath, AddArcToPath și ClosePath — folosind regula de umplere a învelirii nenule. După pictarea traseului, starea de traseu este resetată, astfel încât următorul StartPath pornește o formă proaspătă
Sintaxă
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parametri
| PathOptions | Mod de pictare: 0 — Doar contur (trasare cu setările curente de linie). 1 — Doar umplere (cu culoarea de umplere curentă și regula de înfășurare nenulă). 2 — Umplere și contur |
|---|
Valori returnate
| 0 | Eșec — PathOptions este în afara intervalului, niciun document nu este deschis sau nu a fost pornit niciun traseu |
|---|---|
| 1 | Traseul a fost desenat cu succes |
Observații
Setați culorile de contur și de umplere și atributele de linie (SetLineWidth, SetLineCap, SetLineDash) înainte de a apela DrawPath. Starea grafică curentă este eșantionată la locul apelului
Pentru traseele care se suprapun sau se autointersectează, regula de înfășurare nenulă tratează fiecare sub-traseu ca parte a aceleiași regiuni: o gaură tăiată dintr-o formă mai mare cere ca sub-traseul interior să se înfășoare în direcția opusă celui exterior. Când asta este incomod, apelați în schimb DrawPathEvenOdd — regula even-odd alternează pur și simplu între interior și exterior la fiecare traversare, ceea ce face găurile de tip punch-out banale
Exemplu
// 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 outlineConsultați și
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth