Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
AW: Annäherung an Pi mit Monte carlo, paintbox
19. Jan 2012, 12:32
Vielleicht legt sich kurz ein anderes Fenster drüber. Verschieb das Zeichnen doch mal ins OnPaint der PaintBox, da gehört es ja auch hin. Bei mir wird die Grafik auch korrekt dargestellt.
[edit] Meine Änderungen:
Delphi-Quellcode:
type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure PaintBox1Paint(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
FPainting: Boolean;
public
{ Public-Deklarationen }
end;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
paintbox1.Width := 200;
paintbox1.Height := 200;
FPainting := not FPainting;
PaintBox1.Invalidate;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
end;
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
i,x,y : integer;
begin
if FPainting then
for i := 1 to 100000 do
begin
x:= random(200);
y:= random(200);
if (sqrt(x*x+y*y) < 200) then
paintbox1.canvas.pixels[x,y] := clred
else
paintbox1.canvas.pixels[x,y] := clgreen;
end
else
PaintBox1.Canvas.FillRect(Rect(0, 0, PaintBox1.Width, PaintBox1.Height));
end;
[/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|