Arc

function Arc(const rec: TRect; startAngle, endAngle: double): TPathD;


The path follows an elliptical curve defined by the 'rec' parameter, usually in a clockwise direction. A point offset from the origin at an angle of 0 degrees will always be at 3 o'clock. However, if the CLOCKWISE_ROTATION_WITH_NEGATIVE_ANGLES directive is enabled, winding around the origin will proceed in an anti-clockwise direction. (Note: angles passed to functions in this library are almost always expressed in radians, not degrees).

uses 
  Img32, Img32.Fmt.PNG, Img32.Vector, Img32.Draw;
...
var
  pt: TPointD;
  path: TPathD;
  rec: TRectD;
  img: TImage32;
begin
  img := TImage32.create(256,256);
  rec := RectD(10,30, 256-10, 256-30);
  path := Ellipse(rec);
  DrawLine(img1, path, 20, clNavy32, esPolygon);
  // Draw an arc over the ellipse that rotates 
  // clockwise from 3 o'clock around to 12 o'clock
  // nb: Angle270 is a constant that expresses 
  // 270 degrees in radians.
  path := Arc(rec, Angle0, Angle270);
  DrawLine(img1, path, 5, clYellow32, esRound);
  // Draw a red dot at 12 o'clock
  pt := GetPtOnEllipseFromAngle(rec, Angle270);
  DrawPoint(img, pt, 7, clRed32);
  
  img.SaveToFile('arc.png');
  img.Free;
    

See Also

Img32.inc, Pie