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

时间:2017-07-25 17:07:10

标签: delphi timage

我在程序中使用了TImage组件。

在运行时,我使用:

将图像添加到组件
Image1.Picture.LoadFromFile('C:\Users\53941\Pictures\eq1.jpg');

现在,我想在其他计算机上运行此程序,该计算机在代码中提供的源代码中没有此图像文件。

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

2 个答案:

答案 0 :(得分:10)

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

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;

答案 1 :(得分:6)

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

选择TImage,然后在对象检查器中

  • 选择Picture属性
  • 单击 ... 按钮以打开图片编辑器
  • 加载... 按钮并选择图像文件
  • 使用确定按钮关闭编辑器。

如果你想在代码中加载图像,只需按照Remy所示。