如何从具有另一个扩展名的文件加载Png图像?

Sal*_*dor 5 delphi timage image-conversion delphi-xe2

我正在使用TImage组件加载一些png图像,但其中一些具有.imp扩展名.我将Vcl.Imaging.pngimage单元添加到我的代码中,我正在使用此代码加载图像

 if OpenDialog1.Execute then
  Image1.Picture.LoadFromFile(OpenDialog1.FileName);
Run Code Online (Sandbox Code Playgroud)

但是,当执行LoadFromFile过程时,会引发异常

未知的图片文件扩展名(.imp)

这些图像(.imp)是由外部应用程序生成的png文件,位于只读文件夹中,因此重命名这些文件不是一个选项,问题是如何从文件中加载TImage组件中的Png图像还有另一个扩展吗?

RRU*_*RUZ 14

您必须首先使用该TPicture.RegisterFileFormat方法注册文件格式

试试这个

TPicture.RegisterFileFormat('imp','imp (png) image file',TPngImage);
Run Code Online (Sandbox Code Playgroud)