Ellipse

function Ellipse(const rec: TRect; steps: integer = 0): TPathD; overload;

function Ellipse(const rec: TRectD; steps: integer = 0): TPathD; overload;

function Ellipse(const rec: TRectD; pendingScale: double): TPathD; overload;


Note: the optional pendingScale parameter indicates likely future scaling of the returned path. This allows the function to anticipate an appropriate degree of precision for curve generation. (Inadequate precision will degrade a curve into an obvious series of straight edges, while excessive precision will degrade rendering performance.

  uses 
    Img32, Img32.Fmt.PNG, Img32.Vector, Img32.Draw;
  ...
var
  path, path2: TPathD;
  rec: TRect;
  img: TImage32;
begin
  img := TImage32.create(256,256);
  rec := Rect(10,30, 256-10, 256-30);
  path := Ellipse(rec);
  DrawLine(img1, path, 20, clNavy32, esPolygon);
  path := Arc(rec, 90 *Pi/180, 360 *Pi/180);
  DrawLine(img1, path, 5, clYellow32, esRound);
  img.SaveToFile('arc.png');
  img.Free;
    

See Also

Circle, RotatedEllipse