怎样正确使用TJpegImage的LoadFromStream方法?(50分)

  • 主题发起人 主题发起人 阿权
  • 开始时间 开始时间

阿权

Unregistered / Unconfirmed
GUEST, unregistred user!
我已将Jpeg文件映象读入一个TStream中,想
用LoadFromStream方法读入TJpegImage中,但
老出错?
 
象这样用应该没错。
procedure TForm1.Button1Click(Sender: TObject);
var Jpg:TJpegImage;
s:TFileStream;
begin
s:=TFileStream.Create('c:/users/tqz/fantastic.jpg',fmOpenRead);
Jpg:=TJpegImage.Create;
Jpg.LoadFromStream(s);
Canvas.Draw(0,0,Jpg);
end;
如果Stream中不光有Jpeg,还有其他数据,那么要先Stream.Seek到Jpeg数据的
初始位置。如果前面使用了TReader读Stream的东东,那么别忘了用
Reader.FlushBuffer.
 
谢谢!
我把这段程序作为一个新控件的方法,其中Filename作
参数传入,但在TFileStream.Create时出错,说不能打开
文件,能再解答一下吗?
 
那有可能是Filename错误,找不到文件,或已经被其他程序打开了,并不允许
共享访问。
 
后退
顶部