我有一个PNG映像,我试图在设计时加载到TImageList中:

我有一个图像列表,然后尝试打开我的png:

添加后,出现的图像不正确:

我丢失了打开文件的哪些步骤?
编辑:让我们尝试更多的文件






编辑:更多设置





还有其他人想看的变体吗?
发布于 2014-10-06 21:27:11
问题是我使用了GraphicEx库中包含的一个函数
procedure Stretch(NewWidth, NewHeight: Cardinal; Filter: TResamplingFilter;
Radius: Single; Source: TBitmap);对该函数的调用是在ResizeGraphic助手函数中抽象的。
问题是GraphicEx也有自己的PNG实现:
TPNGGraphic = class(TGraphicExGraphic)然后在运行时将其注册为可用的文件格式:
initialization
RegisterFileFormat('png', gesPortableNetworkGraphic, '',
[ftRaster], False, True, TPNGGraphic);输入自定义控件
我们使用一些定制的Delphi组件。
其中一些组件直接或间接地导入对GraphicEx的引用。这意味着GraphicEx将接管PNG文件类型的处理,而不是设计时IDE中存在的任何类。
解决方案是在RegisterFileFormat的initialization部分中定义所有的GraphicEx.pas行。
{$ifdef PortableNetworkGraphic}
RegisterFileFormat('png', gesPortableNetworkGraphic, '', [ftRaster], False, True, TPNGGraphic);
{$endif}然后重新构建我所有的运行时和设计时包。
一旦完成,IDE就会重新启动:

注意事项:发布到公共域中的任何代码。不需要归属。
https://stackoverflow.com/questions/26219316
复制相似问题