我在程序中使用了一个TImage
组件。如何在Delphi程序本身插入图片?
在运行时,我通过使用图像添加到组件:
Image1.Picture.LoadFromFile('C:\Users\53941\Pictures\eq1.jpg');
现在,我想运行其他一些计算机上运行此程序,它也不会在我已经给源有这个图像文件在代码中。
那么,如何将这个图像文件存储在程序可执行文件本身?
我在程序中使用了一个TImage
组件。如何在Delphi程序本身插入图片?
在运行时,我通过使用图像添加到组件:
Image1.Picture.LoadFromFile('C:\Users\53941\Pictures\eq1.jpg');
现在,我想运行其他一些计算机上运行此程序,它也不会在我已经给源有这个图像文件在代码中。
那么,如何将这个图像文件存储在程序可执行文件本身?
使用.rc
脚本或IDE的Resources and Images
对话框将图像文件存储在程序资源中。阅读英巴卡迪诺的文档了解更多信息:
然后,您可以使用TResourceStream
在运行时访问的资源数据。构造一个TJPEGImage
对象,流加载到它,并把它分配给TImage
:
uses
..., Classes, Jpeg;
var
Strm: TResourceStream;
Jpg: TJPEGImage;
begin
Strm := TResourceStream.Create(HInstance, '<Resource identifier>', RT_RCDATA);
try
Jpg := TJPEGImage.Create;
try
Jpg.LoadFromStream(Strm);
Image1.Picture.Assign(Jpg);
finally
Jpg.Free;
end;
finally
Strm.Free;
end;
end;
您可以将设计表单时使用对象检查图像。图像将存储在表单的DFM中,并在程序运行时自动加载。
选择TImage
,并在Object Inspector,
Picture
财产如果你想要在代码中加载图像,只需像雷米所示。
使用资源更好,因为您可以将资产直接保存在版本控制系统中。将它推入.dfm文件使追踪更难。 –
当然,但这是通常的RAD方式。 –
是的。它很糟糕。作为一名软件开发人员讲话。 –