从流中加载TGLImage或TGLTexture

时间:2014-09-14 11:30:28

标签: image delphi stream glscene

我正在使用带有Delphi XE2的GLScene SVN Snapshot 6432,似乎无法从流中加载纹理图像。

我已经扫描了文档并搜索了互联网但我能找到的全部内容 是LoadFromFile声明,任何地方都没有LoadFromStream。

我也查看了源代码,但是我无法找到或理解处理的代码 文件加载过程。

是否有可能以某种方式将图像文件从TMemoryStream加载到TGLTexture或TGLImage?

修改

我做了更多的研究:

确实有可用的LoadFromStream声明,它们似乎指向该文件 ApplicationFileIO.pas位于GLScene源目录中。

例如,当从TGLImage调用LoadFromStream时,我收到错误消息 “将TGLImage导入TMemoryStream不可用。(C:\ GLSeneLibraryPath \ Source \ ApplicationFileIO.pas,第348行)”。

在获取上述消息时,我尝试了以下代码:

procedure TtestForm.Button1Click(Sender: TObject);
  var ms: tmemorystream;
      img: tglimage;
begin
  ms:=TMemoryStream.Create;
  img:=TGLImage.Create;

  opd.Execute(Self.Handle);

  ms.LoadFromFile(opd.FileName);
  img.LoadFromStream(ms);

  ms.Free;
  img.Free;
end;

可能是因为我需要以某种方式使用ApplicationFileIO.pas单元才能使其工作吗?

我已尝试将该文件包含在uses子句中的所有位置,但它没有任何区别。

0 个答案:

没有答案