>> Tecnologia Eletrônica >  >> Óptica >> Visão Noturna

Desenhando Espiral em Delphi: Código de Exemplo Usando DrawSpiral

Exemplo de Desenho de Espiral em Delphi

O procedimento DrawSpiral renderiza uma espiral de Arquimedes em um TCanvas. Parâmetros: canvas, coordenadas do centro, raio, largura da linha e cor.

Procedimento

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 em um Formulário

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: O snippet original tinha erro de conversão grau-para-radiano; a versão corrigida multiplica por Pi/180.