procedure TForm1.btn1Click(Sender: TObject);
var
newbmp : TBitmap;
x,y,k : integer;
T : pByteArray;
begin
newbmp := TBitmap.Create;
newbmp.LoadFromFile('test.bmp');
for k:=0 to 80 do
begin
for x := 0 to newbmp.Height-1 do
begin
T := newbmp.ScanLine[x];
for y := 0 to newbmp.Width-1 do
begin
T[3*Y+2] := max(0,min(255,T[3*Y+2]-2));
T[3*Y+1] := max(0,min(255,T[3*Y+1]-2));
T[3*Y] := max(0,min(255,T[3*Y]-2));
end;
end;
form1.Canvas.draw(0,0,newbmp);
form1.Invalidate();
end;
newbmp.free;
end;
end.