procedure ImageSaveSmallinttoFile(var PD:TProjectionSmallIntData;filename:string);
var
        stemp:smallint;
        i,j:integer;
        w,h:integer;
        smallintfile:file of smallint;//这个地方可以是byte
begin
        assignfile(smallintfile,filename);
        rewrite(smallintfile);
        ImageGetTwoSmallintBorder(pd,w,h);
        try
                for  i:=0 to w-1 do
                        for j:=0 to h-1 do
                        begin
                                stemp:=pd[i][j];
                                write(smallintfile,stemp);                        end;
        finally
                closefile(smallintfile);
        end;
end;
procedure LoadSingleFromFile(var PD:TDynamicSingleArray;filename:string);
var
 stemp:single;
 i,j:integer;
 w,h:integer;
 singlefile:file of single;
begin
        assignfile(singlefile,filename);
        reset(singlefile);
        seek(singlefile,filesize(singlefile));
        ImageGetTwoSingleBorder(pd,w,h);
        try
                for  i:=0 to w-1 do
                        for j:=0 to h-1 do
                        begin                                read(singlefile,stemp);
                               PD[i][j]:=stemp;                        end;
        finally
                closefile(singlefile);
        end;
end;
注:ImageGetTwoSingleBorder(pd,w,h);//函数的作用时得到二维数组的长度和宽度
不过你可以改为一维的,我就懒得改了。