Delphi-Quellcode:
constructor Tsnow.Create(image: TImage);
begin
FImage := image;
inherited Create(False);
end;
procedure Tsnow.Execute;
begin
while true
do
begin
synchronize(setPixels);
end;
end;
procedure Tsnow.SetPixels;
var
r : Integer;
x,y:Integer;
begin
r := Random(256);
x:=random(FImage.width);
y:=random(FImage.height);
FImage.Canvas.Pixels[x,y] :=
RGB(r,r,r)
end;
im Hauptprogramm:
var
snow1,snow2 : TSnow;
begin
snow1 := TSnow.create(image1);
snow2 := TSnow.create(image1);
end;
und nicht vergessen, die Threads irgendwann zu beenden und freizugeben.
in Deinem Quellcode zeichnest Du zeilenweise Deine Punkt und nicht zufällig
auf das Image.
Mußt mal schauen, ob der obige Code geht habe ich nicht ausgetestet.
Grüße
Klaus