用内存流读取文件到TImage报错(20分)

  • 主题发起人 主题发起人 phillips
  • 开始时间 开始时间
P

phillips

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
pic:TMemoryStream;
begin
opendialog1.Execute;
pic:=TMemoryStream.Create;
pic.LoadFromFile(opendialog1.FileName);
pic.Position:=0
image1.Picture.Graphic.LoadFromStream(pic);
pic.Free;
end;

我打开的是JPG文件,可是读取到IMAGE1里时就会报错。
这个到底是哪里有问题呢。
 
你得创建一个TJpegImage对象来读取流,错就错在这里,
 
uses
jpeg;

就搞定了。jpeg.pas里的initialization节里有注册TJPEGImage的代码。
 
我是想知道这样直接读为什么会报错,
如果我不读JPG,用DevExpres的CXIMAGE读PNG等其他图片也是一样报错。
 
SB 都说了没有注册TJPEFImage了。
 
如果报这个错:Undeclared identifier: 'TJPEGImage'
就需要uses jpeg
 
把报的错贴出来。
 
读流格式错,graphic不能识别
 
uses jpeg
....
OpenDialog1.Execute;
jpeg := TJPEGImage.Create ;
jpeg.LoadFromFile(OpenDialog1.FileName);
image1.Picture.Graphic := jpeg;
...
不知道这段代码对你有没有用。
没用TMemoryStream
 
后退
顶部