如何在FireMonkey中存储图像?

时间:2013-08-25 08:04:10

标签: image delphi firemonkey

在VCL中我有ImageList来存储图像。在FireMonkey中没有ImageList控件。如何在FireMonkey中存储图像供以后使用?

5 个答案:

答案 0 :(得分:11)

在FireMonkey(XE4)中添加图像

Project -> Resources and Images

然后访问它:

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;

感谢PeterVonča

答案 1 :(得分:5)

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

  1. 将图像添加到项目中

    项目 - >资源和图片

  2. 将“资源和图片”中的图片保存为资源类型 RCDATA

  3. 添加此程序:

  4. - >

    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
    

    然后使用例如:

    加载图像
    var i : nativeint;
    begin
      i := 1;      
      load_image_from_resource(Image1, 'Bitmap_' + inttostr(i));
    end;
    
    来自世界各地。

答案 2 :(得分:3)

通过Project > Resources and Images将您的图片添加为资源。

答案 3 :(得分:1)

对于现在正在查看此问题的人,因为Delphi XE8 FireMonkey具有TImageList组件

答案 4 :(得分:0)

在表单上放置一个TPopupMenu并添加一些菜单项并分配每个TMenuItem的TBitmap。然后,您可以使用以下表达式访问位图:

PopupMenu1.Items[index].Bitmap

MenuItem1.Bitmap
MenuItem2.Bitmap
...