Dessiner une spirale en Delphi : exemple code avec DrawSpiral
Exemple dessin spirale Delphi
La procédure DrawSpiral dessine une spirale d'Archimède sur un TCanvas. Paramètres : canvas, coordonnées centre, rayon, largeur trait, couleur.
Procédure
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;
Utilisation sur une Form
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;
Note : L'extrait original avait une erreur de conversion degrés-radians ; la version corrigée multiplie par Pi/180.
