Dibujar una espiral en Delphi: Código de ejemplo con DrawSpiral

Ejemplo de dibujo de espiral en Delphi

El procedimiento DrawSpiral renderiza una espiral de Arquímedes en un TCanvas. Parámetros: lienzo, coordenadas del centro, radio, ancho de línea y color.

Procedimiento

procedure DrawSpiral(ACanvas: TCanvas; ACenterX, ACenterY: Integer; ARadius, AWidth: Double; AColor: TColor); var i, step, angle, radius, x, y: Integer; begin step := Round(ARadius / 50); for i := 0 to 50 do begin angle := i * 10; radius := i * step; x := Round(ACenterX + radius * Cos(angle * Pi / 180)); y := Round(ACenterY + radius * Sin(angle * Pi / 180)); ACanvas.LineTo(x, y); end; ACanvas.Pen.Color := AColor; end; 

Uso en un Formulario

procedure TForm1.Button1Click(Sender: TObject); var Canvas: TCanvas; begin Canvas := TCanvas.Create; try DrawSpiral(Canvas, 100, 100, 50, 2, clRed); Image1.Picture.Assign(Canvas); finally Canvas.Free; end; end; 

Nota: El fragmento original tenía un error de conversión de grados a radianes; la versión corregida multiplica por Pi/180.