在VCL中我有ImageList
来存储图像。在FireMonkey中没有ImageList
控件。如何在FireMonkey中存储图像供以后使用?
答案 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,你必须:
将图像添加到项目中
项目 - >资源和图片
将“资源和图片”中的图片保存为资源类型 RCDATA
添加此程序:
- >
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
...