Hola, si a lo que te refieres es a dibujar una recta no pixelada (
antialiased line),
aquí un ejemplo, pero si te refieres a una "curva", entonces quizás te interesa la función
PolyBezier.
Ejemplo de
PolyBezier usando la API:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var
pts: Array[0..3] of TPoint;
begin
pts[0] := Point(100,100);
pts[1] := Point(150,300);
pts[2] := Point(200, 50);
pts[3] := Point(250, 175);
PolyBezier(Canvas.Handle, pts, 4);
Canvas.Rectangle(pts[0].x-3,pts[0].y-3,pts[0].x+3,pts[0].y+3);
Canvas.Rectangle(pts[1].x-3,pts[1].y-3,pts[1].x+3,pts[1].y+3);
Canvas.Rectangle(pts[2].x-3,pts[2].y-3,pts[2].x+3,pts[2].y+3);
Canvas.Rectangle(pts[3].x-3,pts[3].y-3,pts[3].x+3,pts[3].y+3);
end;
Ejemplo de
PolyBezier usando la función del TCanvas:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
begin
Canvas.PolyBezier([Point(100,100), Point(150,300), Point(200, 50), Point(250, 175)]);
end;
Estas dos cosas son las que he interpretado de tu mensaje.
Saludos.