如何在FireMonkey中存储图像?

Edi*_*ičs 1 delphi image firemonkey

在VCL中,我不得不ImageList存储图像.在FireMonkey中没有ImageList控制权.如何将图像存储在FireMonkey中供以后使用?

Edi*_*ičs 11

在FireMonkey(XE4)中添加图像

Project -> Resources and Images
Run Code Online (Sandbox Code Playgroud)

然后访问它:

procedure TForm1.Button1Click(Sender: TObject);
var
  InStream: TResourceStream;
begin
  InStream := TResourceStream.Create(HInstance, 'MyPng', RT_RCDATA);
  try
    Image1.Bitmap.LoadFromStream(InStream);
  finally
    InStream.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

感谢PeterVonča

  • 我很高兴您发现我的答案很有用,通常适当的步骤是接受解决您问题的答案.关于你的答案,问题不在于如何访问资源,最好继续讨论主题. (2认同)

Ing*_*ngo 5

因为Delphi Android中没有ImageList,你必须:

  1. 将图像添加到项目中

    项目 - >资源和图像

  2. 将"资源和图像"中的图像保存为ResourceType RCDATA

  3. 添加此程序:

- >

procedure TForm1.load_image_from_resource(var Im1: Timage; res_name: String);
var InStream: TResourceStream;
begin
  InStream := TResourceStream.Create(HInstance, res_name, RT_RCDATA);
  try
    Im1.Bitmap.LoadFromStream(InStream);
  finally
    InStream.Free;
  end;
end
Run Code Online (Sandbox Code Playgroud)

然后使用例如加载图像:

var i : nativeint;
begin
  i := 1;      
  load_image_from_resource(Image1, 'Bitmap_' + inttostr(i));
end;
Run Code Online (Sandbox Code Playgroud)

从各处.