所以,我刚刚将 Graphics32 升级到最新版本,我的代码不再编译。
我想将具有透明度的 PNG 从资源加载到 TImage32 中。
之前我做过:
uses
GR32, GR32_PortableNetworkGraphic, GR32_Image, GR32_PNG;
var
Logo: TResourceStream;
Logo := TResourceStream.Create(MainInstance, 'MyLogo', RT_RCDATA);
try
LoadBitmap32FromPNG(Image32Logo.Bitmap, Logo);
finally
Logo.Free;
end;
但是随着新版本的发布,
GR32_PortableNetworkGraphic
和GR32_PNG
不再存在。
我在库代码中找不到任何提及 png 的地方了...
我设法做到了:
uses
GR32, GR32_Image;
var
Logo: TResourceStream;
Logo := TResourceStream.Create(MainInstance, 'MyLogo', RT_RCDATA);
try
Image32Logo.Bitmap.LoadFromStream(Logo);
finally
Logo.Free;
end;
但是透明度丢失了。如何在 Delphi 12 下使用 Graphics32 2.0 实现 PNG 透明度?
解决方案是不要使用最新版本(2.0 Final)。我刚刚克隆了 master,丢失的文件就在那里(master 文件中的版本是 3.0)。