DrawPath
Gráficos vetoriais, Definição e desenho de caminhos
Descrição
Pinta o path atual — montado por StartPath, AddLineToPath, AddCurveToPath, AddArcToPath e ClosePath — usando a regra de preenchimento non-zero winding. Depois que o path é pintado, o estado do path é resetado, de modo que o próximo StartPath começa uma forma nova.
Sintaxe
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parâmetros
| PathOptions | Modo de pintura: 0 — Apenas contorno (stroke com as configurações de linha atuais). 1 — Apenas preenchimento (com a cor de preenchimento atual e a regra non-zero winding). 2 — Preenchimento e contorno. |
|---|
Valores retornados
| 0 | Failed — PathOptions is out of range, no document is open, or no path has been started. |
|---|---|
| 1 | O path foi pintado com sucesso. |
Observações
Defina as cores de traço e de preenchimento e os atributos de linha (SetLineWidth, SetLineCap, SetLineDash) antes de chamar DrawPath. O estado gráfico atual é amostrado no ponto da chamada.
Para paths sobrepostos ou autocruzantes, a regra non-zero winding trata todo sub-path como parte da mesma região: um buraco recortado de uma forma maior exige que o sub-path interno gire na direção oposta ao externo. Quando isso for inconveniente, chame DrawPathEvenOdd — a regra even-odd simplesmente alterna entre dentro e fora a cada cruzamento, o que torna buracos recortados triviais.
Exemplo
// 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 outlineVeja também
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth