DrawPath
Vector graphics, Path definition and drawing
Description
Pinta o caminho atual — montado por StartPath, AddLineToPath, AddCurveToPath, AddArcToPath e ClosePath — usando a regra de preenchimento non-zero winding; após o caminho ser pintado, o estado do caminho é redefinido, de modo que o próximo StartPath inicia uma nova forma
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 | Modo de pintura: 0 — Somente contorno (traço com as configurações de linha atuais); 1 — Somente preenchimento (com a cor de preenchimento atual e a regra non-zero winding); 2 — Preenchimento e contorno |
|---|
Return values
| 0 | Falhou — PathOptions está fora do intervalo, nenhum documento está aberto ou nenhum caminho foi iniciado |
|---|---|
| 1 | O caminho foi pintado com sucesso |
Remarks
Defina as cores de traço e preenchimento e os atributos de linha (SetLineWidth, SetLineCap, SetLineDash) antes de chamar DrawPath. O estado gráfico atual é amostrado no local da chamada
Para caminhos sobrepostos ou de auto-interseção, a regra non-zero winding trata cada subcaminho como parte da mesma região: um furo cortado de uma forma maior requer que o subcaminho interno gire na direção oposta ao externo; quando isso for inconveniente, chame DrawPathEvenOdd em vez disso — a regra even-odd simplesmente alterna entre dentro e fora a cada cruzamento, o que torna os furos de recorte triviais
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