Ver Mensaje Individual
  #2  
Antiguo 27-09-2007
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Reputación: 19
xEsk Va por buen camino
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);

  { Dibuja la curva }
  PolyBezier(Canvas.Handle, pts, 4);

  { Muestra los puntos de la curva }
  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.
Responder Con Cita