我有一个带有大TImage
的表格作为背景。问题是,这直接以位图的形式存储在DFM中,大约占用3 MB。原始的PNG文件约为250K。我想尝试通过将PNG嵌入资源中,然后在OnCreate
期间让表单加载它来减少膨胀。现在,既然Delphi 2009包含PNG支持,我就可以做到这一点,除了我不太了解如何使用PNG构建资源文件。有人知道怎么做吗?
最佳答案
示例文本文件(名为myres.rc):
MYPNG RCDATA mypng.png
添加到项目:
{$R 'myres.res' 'myres.rc'}
在运行时加载的示例:
uses
PngImage;
var
Png: TPngImage;
begin
Png := TPngImage.Create;
try
Png.LoadFromResourceName(HInstance, 'MYPNG');
Image1.Picture.Graphic := Png; // Image1: TImage on the form
finally
Png.Free;
end;
end;