Попробуй сделать в таком ключе:
Код:
...
const
Buff_Size = 4096;
var
mS: TMemoryStream;
fS: TFileSteam;
Buff: array[1..Buff_Size] of Byte;
readedLength: Integer;
begin
mS := TMemoryStream.Create;
Image1.Picture.BitMap.SaveToStream(mS);
try
fS := TFileSteam.Create('путь + имя файла', fmCreate);
repeat
readedLength := mS.Read(Buff, Buff_Size);
fS.Write(Buff, readedLength);
until readedLength < Buff_Size;
fS.Free;
except
...ERROR!!!!
end;
mS.Free;
end;
...
Писал на коленке. Не тестировал. Но по идее должно работать.