kreise ineinander zeichnen
Hallo,
ich will einen Kreis zeichnen und in diesen Kreis sind auch kreise im gleichen abstand zueinander. Die anzahl der Kreise soll in einer Variablen festgehalten werden. wie mache ich das??? Ich hatte mit zwei schleifen gedacht. funktioniert aber leider nicht. hier mal mein code der funktioniert
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i : TImage; r : Integer; mx : Integer; my : Integer; k : Integer; begin i:=Image1; mx:=i.Width div 2; my:=i.Height div 2; if i.Height<i.Width then r:=i.Height div 2 - 10 else r:=i.Width div 2 - 10; i.Canvas.MoveTo(mx+r, my); for k:=0 to 360 do begin i.Canvas.LineTo(Round(mx+r*cos(k*Pi/180)), Round(my-r*sin(k*Pi/180))); end; end; |
Re: kreise ineinander zeichnen
Hi,
versuch mal das hier:
Delphi-Quellcode:
var
k : Integer; rect: TRect; max, step: Integer; begin rect := Image1.Canvas.ClipRect; if Rect.Right > Rect.Bottom then begin Rect.Top := (Rect.Right - Rect.Bottom) div 2; Rect.Bottom := Rect.Bottom - Rect.Top; end else begin Rect.Left := (Rect.Bottom - Rect.Right) div 2; Rect.Right := Rect.Right - Rect.Left; end; max := 4; step := (rect.Right div 2) div (max + 1); for k := 1 to max do Image1.Canvas.Ellipse(Rect.Left + k * step, Rect.Top + k * step, Rect.Right - k * step, Rect.Bottom - k * step); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz