为什么我用Stream方法保存图像不能成功(100分)

  • 主题发起人 主题发起人 boby
  • 开始时间 开始时间
B

boby

Unregistered / Unconfirmed
GUEST, unregistred user!
我定义了一个文件格式,其中有图片,还有图片描述和其他一些相关信息。想通过TFileStream的方法去存取文件,但是在做图片存取测试时有个问题不知道如何解决。
变量的定义就不写了,下面是大概用到的方法,因为是测试,所以语句写得比较简单,而且只是存了一个图片

stream := TmemoryStream.Create;
filestream:=tfilestream.Create('c:/123.abc', fmcreate);
image1.Picture.graphic.SaveToStream(stream);
filestream.Seek(0, sofrombeginning);
stream.Position:=0;
filestream.WriteBuffer(stream, stream.Size);
filestream.Free;
stream.Free;

然后我把保存下来的文件用记事本打开,虽然是乱码,但是和原图片的乱码却完全不一样,改了文件后缀也不能用看图工具浏览,向高人求助了
 
WriteBuffer不对.
应该用CopyFrom.
 
image1.Picture.Bitmap.savetofile(路径+文件名)
 
应该不能访问,你
你要先读入Stream
再通过
image1.Picture.graphic.LoadToStream(stream);
打开

如果要其他看图工具浏览,只能是Image1.Picture.Bitmap.SaveToFile(''ddd.bmp');
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
898
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部