delphi - 如何从具有其他扩展名的文件加载 Png 图像?

标签 delphi delphi-xe2 image-conversion timage

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

 if OpenDialog1.Execute then
  Image1.Picture.LoadFromFile(OpenDialog1.FileName);

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

Unknown picture file extension (.imp)

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

最佳答案

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

试试这个

TPicture.RegisterFileFormat('imp','imp (png) image file',TPngImage);

关于delphi - 如何从具有其他扩展名的文件加载 Png 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10019632/

相关文章:

delphi - 在delphi中使用两个exe文件时相对和绝对路径之间的冲突

delphi - 如何防止Delphi应用程序在启动时创建GLScene日志文件?

delphi - 继承在类运算符的上下文中意味着什么

pdf - 为什么使用 imagemagick 从此 pdf 渲染 png 会创建这些条纹伪影?

macos - 如何在 Delphi XE2 中向 Mac OS Finder 添加菜单项

Delphi:如何打印PDF而不显示它?

image - 如何将 DICOM 从单色 1 转换为单色 2?

c# - 以高压缩级别压缩 JP2 (JPEG2000) 图像

delphi - 为什么居中的 MessageDlg 会产生异常?

jquery - 如何使用 jQuery 和 "Long Polling"通过 Indy HTTP 服务器动态更新 HTML 页面?