如何在Delphi程序中插入图片?

Ary*_*sal 4 delphi timage

TImage在我的程序中使用了一个组件.

在运行时,我使用以下命令向组件添加图像:

Image1.Picture.LoadFromFile('C:\Users\53941\Pictures\eq1.jpg');
Run Code Online (Sandbox Code Playgroud)

现在,我想在其他计算机上运行这个程序,这个计算机上没有这个图像文件.

那么,我如何将这个图像文件存储在程序可执行文件中呢?

Rem*_*eau 10

使用.rc脚本或IDE Resources and Images对话框将映像文件存储在程序的资源中.阅读Embarcadero的文档了解更多详情:

资源和图像

然后,您可以使用a 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;
Run Code Online (Sandbox Code Playgroud)


Rud*_*uis 7

设计表单时,可以使用Object Inspector分配图像.图像将存储在Form的DFM中,并在程序运行时自动加载.

TImage在对象检查器中选择和,

  • 选择Picture属性
  • 单击...按钮以打开图片编辑器
  • Load...按钮,然后选择图像文件
  • 使用 OK 按钮关闭编辑器.

如果你想在代码中加载图像,就像Remy所展示的那样.

  • 这取决于您的需求.对于简单的程序或模型,或仅仅​​是初学者,它很有意义.如果程序变大,你总是可以重构. (2认同)