with WaterfallImage do // = TImage
begin // this works, but very slow (100 ms)
try
Picture.Bitmap.BeginUpdate(True); // without this it even takes 200 ms
for y:= Height-1 downto 1 do
begin
for x:= 0 to Width-1 do
begin
Canvas.Pixels[x,y]:= Canvas.Pixels[x,y-1];
end;
end;
for x:= 0 to Width-1 do
begin
Canvas.Pixels[x,0]:= NewLine[x];
end;
finally
Picture.Bitmap.EndUpdate(False);
end;
end;