DrawPathEvenOdd

Gráficos vetoriais, definição e desenho de caminhos

Descrição

Pinta o caminho atual utilizando a regra de preenchimento par-ímpar em vez da regra de enrolamento diferente de zero utilizada por DrawPath. Com a regra par-ímpar, um ponto é considerado "interior" ao caminho quando um raio traçado a partir dele cruza o caminho um número ímpar de vezes — os subcaminhos sobrepostos alternam, assim, entre faixas preenchidas e não preenchidas sem ser necessário considerar a direção dos subcaminhos

Sintaxe

Delphi

Function TPDFlib.DrawPathEvenOdd(PathOptions: Integer): Integer;

ActiveX

Function PDFlib::DrawPathEvenOdd(PathOptions As Long) As Long

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Parâmetros

PathOptionsModo de pintura:

0 — apenas contorno.
1 — apenas preenchimento (regra par-ímpar).
2 — preenchimento e contorno

Valores devolvidos

0Falha — PathOptions está fora do intervalo, não está aberto nenhum documento ou não foi iniciado nenhum caminho
1O caminho foi pintado com êxito

Observações

Utilize a regra par-ímpar ao construir formas como anéis ou qualquer figura que abra um orifício num contorno maior. Com a regra de enrolamento diferente de zero utilizada por DrawPath, a mesma construção só funciona se o subcaminho interior for desenhado na direção oposta; com a regra par-ímpar, a direção é irrelevante

Exemplo

// A filled square with a circular hole cut through it (donut)
PDF.SetFillColor(0, 0.4, 0.7);

PDF.StartPath(100, 100);
PDF.AddLineToPath(200, 100);
PDF.AddLineToPath(200, 200);
PDF.AddLineToPath(100, 200);
PDF.ClosePath;

// Inner circle — direction does not matter under even-odd
PDF.StartPath(170, 150);            // start on the right side of the circle
PDF.AddArcToPath(150, 150, 360);    // centre (150, 150), full revolution
PDF.ClosePath;

PDF.DrawPathEvenOdd(1);                // 1 = fill

Consulte também

DrawPath, StartPath, AddArcToPath, ClosePath