我正在使用带有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子句中的所有位置,但它没有任何区别。