DrawPathEvenOdd

Gráficos vectoriales, definición y trazado de rutas

Descripción

Pinta la ruta actual utilizando la regla de relleno par-impar en vez de la regla de devanado no nulo utilizada por DrawPath. Con la regla par-impar, un punto se considera "dentro" de la ruta cuando un rayo trazado desde él cruza la ruta un número impar de veces — por tanto, las subrutas superpuestas alternan entre bandas rellenas y sin rellenar sin necesidad de tener en cuenta la dirección de la subruta

Sintaxis

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 — Solo contorno.
1 — Solo relleno (regla par-impar).
2 — Relleno y contorno

Valores devueltos

0Error — PathOptions está fuera del intervalo, no hay ningún documento abierto o no se ha iniciado ninguna ruta
1La ruta se pintó correctamente

Observaciones

Utilice la regla par-impar al construir figuras como anillos, arandelas o cualquier figura que perfore un hueco en un contorno mayor. Con la regla de devanado no nulo que utiliza DrawPath, la misma construcción solo funciona si la subruta interior se dibuja en sentido contrario; con la regla par-impar, la dirección no importa

Ejemplo

// 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

Véase también

DrawPath, StartPath, AddArcToPath, ClosePath