違うよ 

円を描く例で

SetLength(Points,100);

For i:=0 to High(Points) do Points[i]
:=Point( round(r*sin(i/Length(Points)*2*PI)+x0
     ,round(r*cos(i/Length(Points)*2*PI)+y0 );

Canvas.Polygon(Points);

楕円にするには、この点列を 斜めに引き伸ばせばいい