DrawPathEvenOdd

Векторна графика, Определяне и рисуване на път

Описание

Рисува текущия път с правилото за запълване четно-нечетно вместо правилото за ненулево навиване, използвано от DrawPath. При това правило точка е "вътре" в пътя, когато лъч от нея пресече пътя нечетен брой пъти — припокриващите се подпътища редуват запълнени и незапълнени ивици без отчитане на посоката им

Синтаксис

Delphi

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

ActiveX

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

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Параметри

PathOptionsРежим на рисуване:

0 — Само контур.
1 — Само запълване (правило четно-нечетно).
2 — Запълване и контур

Върнати стойности

0Неуспех — PathOptions е извън диапазона, няма отворен документ или не е започнат контур
1Контурът беше изчертан успешно

Забележки

Използвайте правилото четно-нечетно при конструиране на форми като пръстени, шайби или фигури с отвор в по-голям контур. При правилото за ненулево навиване, използвано от DrawPath, същата конструкция работи само ако вътрешният подпът е начертан в обратна посока; при правилото четно-нечетно посоката няма значение

Пример

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

Вижте също

DrawPath, StartPath, AddArcToPath, ClosePath