![]() |
Stern Programmieren und zeichnen
Hallo ich hoffe ich bin richtig hier mit meiner Frage.
Also ich benötige zur Klausurvorbereitung ein Programm. Ich möchte einen Stern zeichnen. Ich bin jetzt nicht so der Crack ;-). Akutell sieht das ganze so aus: Imagefeld, 1 Button, 3 Editfelder. Ich benutze das Programm Lararus. Aber es bleibt immer so eine unschöne Ecke stehen
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var // lokale Variablen x,y,xm,ym,xmm,ymm,ir,ar,index,vz,anzahl:integer; winkel,winkelschritt:double; begin anzahl:=strtoint(edit1.text); // Anzahl aus Edit 1 xm:=image1.Width; // X-Wert aus Edit2 ym:=image1.height; // Y-Wert aus Edit 3 xmm:= xm div 2; ymm:= ym div 2; ir :=strtoint(edit4.text); // Innenradius aus Edit 4 ar :=strtoint(edit6.text); // Außenradius aus Edit 6 image1.canvas.pen.color:=clblack; // Stiftfarbe image1.canvas.fillrect(0,0,xm,ym); x:=ar+xmm; y:=ymm; // Anfangspunkt vz:=-1; image1.canvas.MoveTo(x,y); // mit gehobenem Stift anfahren winkelschritt:=(2*Pi)/anzahl; // Winkelschritt berechnen for index:=1 to anzahl do begin winkel:=winkelschritt*(index-1)+winkelschritt/2; // Winkel ab 0° x:=round(ar*cos(winkel))+xmm; // x- Koordinate y:=round(vz*ar*sin(winkel))+ymm; // y- Koordinate image1.canvas.lineto(x,y); // Zeichnen winkel:=winkelschritt*index; x:=round(ir*cos(winkel))+xmm; // x- Koordinate y:=round(vz*ir*sin(winkel))+ymm; // y- Koordinate image1.canvas.lineto(x,y); end; end; |
AW: Stern Programmieren und zeichnen
Hallo,
die x-Koordinate Deines Anfangspunktes ist falsch, sollte sein:
Delphi-Quellcode:
gruß
x:=ir+xmm; y:=ymm; // Anfangspunkt -> ir - Innenradius
tom |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz