Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Annäherung an Pi mit Monte carlo, paintbox

  Alt 19. Jan 2012, 11: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
  Mit Zitat antworten Zitat