procedure TForm1.PaintBox2Paint(Sender: TObject);
var
C, P1, P2: TPoint;
rx, ry: Integer;
begin
rx := 80;
ry := 50;
// left top corner
C := Point(100, 100);
P1 := Point(C.X, C.Y-ry);
P2 := Point(C.X-rx, C.Y);
Paintbox2.Canvas.Arc(C.X-rx, C.Y-ry, C.x+rx, C.y+ry, P1.X, P1.Y, P2.X,P2.Y);
Paintbox2.Canvas.TextOut(P1.X, P1.Y, 'start');
Paintbox2.Canvas.TextOut(P2.X, P2.Y, 'end');
// right top corner
C := Point(300, 100);
P1 := Point(C.X+rx, C.Y);
P2 := Point(C.X, C.Y-ry);
Paintbox2.Canvas.Arc(C.X-rx, C.Y-ry, C.x+rx, C.y+ry, P1.X, P1.Y, P2.X,P2.Y);
Paintbox2.Canvas.TextOut(P1.X, P1.Y, 'start');
Paintbox2.Canvas.TextOut(P2.X, P2.Y, 'end');
// bottom right corner
C := Point(300, 200);
P1 := Point(C.X, C.Y+ry);
P2 := Point(C.X+rx, C.Y);
Paintbox2.Canvas.Arc(C.X-rx, C.Y-ry, C.x+rx, C.y+ry, P1.X, P1.Y, P2.X,P2.Y);
Paintbox2.Canvas.TextOut(P1.X, P1.Y, 'start');
Paintbox2.Canvas.TextOut(P2.X, P2.Y, 'end');
// bottom left corner
C := Point(100, 200);
P1 := Point(C.X-rx, C.Y);
P2 := Point(C.X, C.Y+ry);
Paintbox2.Canvas.Arc(C.X-rx, C.Y-ry, C.x+rx, C.y+ry, P1.X, P1.Y, P2.X,P2.Y);
Paintbox2.Canvas.TextOut(P1.X, P1.Y, 'start');
Paintbox2.Canvas.TextOut(P2.X, P2.Y, 'end');
end;