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);//函数的作用时得到二维数组的长度和宽度
不过你可以改为一维的,我就懒得改了。
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);//函数的作用时得到二维数组的长度和宽度
不过你可以改为一维的,我就懒得改了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货