在 VCL 中,我必须ImageList
存储图像。在 FireMonkey 中没有ImageList
控制。如何将图像存储在 FireMonkey 中以备后用?
问问题
11023 次
5 回答
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;
感谢彼得·冯卡
于 2013-08-25T16:35:14.273 回答
5
因为 Delphi Android 中没有 ImageList,所以您必须:
将您的图像添加到您的项目中
项目 -> 资源和图像
将“资源和图像”中的图像删除为 ResourceType 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;
从各地。
于 2013-12-10T04:15:01.860 回答
3
通过将您的图像添加为资源Project > Resources and Images
。
于 2013-08-25T08:23:35.850 回答
1
对于现在正在看这个问题的人,因为 Delphi XE8 FireMonkey 有 TImageList 组件
于 2016-12-21T08:02:37.750 回答
0
在表单上放置一个 TPopupMenu 并添加一些菜单项并分配每个 TMenuItem 的 TBitmap。然后您可以使用以下表达式访问位图:
PopupMenu1.Items[index].Bitmap
或者
MenuItem1.Bitmap
MenuItem2.Bitmap
...
于 2013-08-25T08:22:14.273 回答