function CreateGrayLevel(const B : byte) : integer;
begin
result := B + (B shl 8) + (B shl 16);
end;
procedure TForm1.Timer1Timer(Sender : TObject);
var X : integer;
begin
for x := 0 to NBSnow do
with PaintBox1.Canv do begin
Pixel[ RandomRange(0,PaintBox1.Width),
RandomRange(0,PaintBox1.Height) ] := CreateGrayLevel(RandomRange(0,256));
end;
end;
et le must serait d'ajouter un buffer TBitmap et en utilisant Scanline car Pixel est trés long d'accés.