var
TmpMS, ImgMS: TMemoryStream;
iImgSize: Integer;
begin
TmpMS := TMemoryStream.Create;
ImgMS := TMemoryStream.Create;
TmpMS.LoadFromFile('图象文件名');
//随便什么格式的文件,都无所谓
iImgSize := TmpMS.Size;
ImgMS.Write(iImgSize, sizeof(Integer));
//写入第一个图象的大小
TmpMS.Position := 0;
ImgMS.CopyFrom(TmpMS, iImgSize);
//将第一个图象从临时流中拷贝过来
TmpMS.SetSize(0);
//清空临时流
{ 重复刚才的步骤 }
TmpMS.LoadFromFile('图象文件名');
iImgSize := TmpMS.Size;
ImgMS.Write(iImgSize, sizeof(Integer));
TmpMS.Position := 0;
ImgMS.CopyFrom(TmpMS, iImgSize);
{ 反复上面的过程可保存多个图象 }
//----------------------------------------------------
{ 读取数据,为了省事,就都放在这里了 }
ImgMS.Position := 0;
ImgMS.Read(iImgSize, sizeof(Integer));
ImgMS.Read(某变量, iImgSize);
//这里你要显示,还是保存,随便了
TmpMS.Free;
ImgMS.Free;
end;