Esempio di Disegno Spirale in Delphi
Esempio di Disegno Spirale in Delphi
La procedura DrawSpiral disegna una spirale di Archimede su un TCanvas. Parametri: canvas, coordinate del centro, raggio, larghezza linea e colore.
Procedura
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; Utilizzo su un Modulo
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: Il frammento originale conteneva un errore di conversione da gradi a radianti; la versione corretta moltiplica per Pi/180.