Thema: Delphi N-Eck (Vieleck) zeichnen

Einzelnen Beitrag anzeigen

Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#4

Re: N-Eck (Vieleck) zeichnen

  Alt 22. Sep 2007, 18:53
Leider stimmt da irgendwas nicht... Möchte ich ein Viereck, bekomme ich ein Dreieck, möchte ich ein Fünfeck, bekomm ich irgendwelchen Kappes...

Ich leide gerade unter einer heftigen Denkblockade und poste deswegen mal meinen Quellcode, vielleicht findet ihr den Fehler:

Delphi-Quellcode:
procedure TForm1.generate;
  var i,x,y,d : Integer;
      myangle : Integer;
      newx, newy: Integer;
begin
  img.Width := spinedit7.Value;
  img.Height := spinedit8.Value;
  img.Canvas.brush.Color := panel3.Color;
  img.Canvas.Rectangle(-1,-1,img.Width+1,img.Height+1);
  img.Canvas.Pen.Color := panel4.Color;

  x := (img.Width div 2); //x,y = Mittelpunkt
  y := (img.Height div 2);
  d := y - spinedit3.Value - spinedit4.Value; //Halber Durchmesser
  myangle := (360 div spinedit1.Value); (Spinedit1.value ist unser N (N-Eck)
  newx := x + (d*round(cos(myangle*0)));
  newy := y + (d*round(sin(myangle*0)));
  //Angular
  for i := 1 to spinedit1.Value do
  begin
    img.Canvas.MoveTo(newx,newy);
    newx := x + (d*round(cos(myangle*i)));
    newy := y + (d*round(sin(myangle*i)));
    img.Canvas.LineTo(newx,newy);
  end;
end;
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat