>> Technologie Électronique >  >> Optique >> Vision nocturne

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.

Vision nocturne