AddArcToPath
Vektorgrafik, Bandefinition och ritning
Beskrivning
Lägger till en cirkelbåge till aktuellt path. Bågen ritas runt mittpunkten (CenterX, CenterY); dess radie är avståndet från mittpunkten till pathens aktuella punkt, och den sveper TotalAngle grader. Den aktuella punkten efter anropet är bågens slutpunkt, så efterföljande AddLineToPath- eller AddArcToPath-anrop fortsätter därifrån
Syntax
Delphi
Function TPDFlib.AddArcToPath(CenterX, CenterY, TotalAngle: Double): Integer;
ActiveX
Function PDFlib::AddArcToPath(CenterX As Double, CenterY As Double, TotalAngle As Double) As Long
DLL
int DLAddArcToPath(int InstanceID, double CenterX, double CenterY, double TotalAngle);
Parametrar
| CenterX | Bågens mittpunkts horisontella koordinat |
|---|---|
| CenterY | Bågens mittpunkts vertikala koordinat |
| TotalAngle | Vinkelsvepet i grader. Positiva värden sveper medurs; negativa värden sveper moturs. Värdet måste vara skilt från noll. 360 (eller -360) ritar en hel cirkel |
Returvärden
| 0 | Misslyckades — inget dokument är öppet, ingen path har påbörjats, eller TotalAngle är noll |
|---|---|
| 1 | Bågen lades till aktuellt path |
Anmärkningar
Radien härleds implicit från avståndet mellan den aktuella punkten (satt av den senaste StartPath, AddLineToPath, AddCurveToPath eller tidigare AddArcToPath) och mittpunkten som detta anrop lämnar. För att rita en hel cirkel, StartPath till valfri punkt på cirkelns rand och anropa AddArcToPath med önskad mittpunkt och ett svep på 360Bågen renderas som en kedja av kubiska Bézier-segment, korrekt inom subpixeltolerans för typiska PDF-sidstorlekar
Bågen renderas som en kedja av kubiska Bézier-segment, med noggrannhet inom subpixeltolerans för typiska PDF-sidstorlekar.
Exempel
// A pie slice — straight edge, arc, straight edge back to centre
PDF.SetFillColor(0.7, 0.2, 0.2);
PDF.StartPath(200, 200); // pie centre
PDF.AddLineToPath(280, 200); // out to circle (radius 80, angle 0°)
PDF.AddArcToPath(200, 200, 90); // sweep 90° clockwise
PDF.ClosePath; // back to the centre
PDF.DrawPath(2); // 2 = fill and outline
// A complete circle drawn as a single arc
PDF.StartPath(300, 100);
PDF.AddArcToPath(250, 100, 360);
PDF.ClosePath;
PDF.DrawPath(0);Se även
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd