Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
Delphi 7 Enterprise
|
Re: Rectangle und Ellipse
9. Jun 2008, 00:10
Hier mal ein rekursiver Vorschlag...
Delphi-Quellcode:
procedure zeichnen(Canvas:TCanvas; x, y, width, tiefe:integer);
var R:TRect;
begin
if tiefe > 0 then begin
R:=Rect(x-width div 2, y-width div 2, x+width div 2, y+width div 2);
Canvas.Brush.Color:=clRed;
Canvas.Rectangle(R);
Canvas.Brush.Color:=clYellow;
Canvas.Ellipse(R);
zeichnen(Canvas, x, y, round(2*sqrt(2)*(width div 4)), tiefe-1);
end;
end;
Aufruf...
Delphi-Quellcode:
procedure TForm.ButtonClick(Sender: TObject);
var x, y:integer;
begin
x:=Image.Width div 2;
y:=Image.Height div 2;
if Image.Width < Image.Height then
zeichnen(Image.Canvas, x, y, Image.Width, 10)
else
zeichnen(Image.Canvas, x, y, Image.Height, 10);
end;
Gruss
Thorsten
|
|
Zitat
|