Image 如何在FireMonkey中存储图像?
在VCL中,我有Image 如何在FireMonkey中存储图像?,image,delphi,firemonkey,Image,Delphi,Firemonkey,在VCL中,我有ImageList来存储图像。FireMonkey中没有ImageList控件。如何将图像存储在FireMonkey中以备将来使用?在表单上放置一个TPopupMenu,添加一些菜单项,并为每个tmenue项指定TBitmap。然后可以使用以下表达式访问位图: PopupMenu1.Items[index].Bitmap 或 在表单上放置一个TPopupMenu,添加一些菜单项,并为每个Tmenu项指定TBitmap。然后可以使用以下表达式访问位图: PopupMenu1.It
ImageList
来存储图像。FireMonkey中没有ImageList
控件。如何将图像存储在FireMonkey中以备将来使用?在表单上放置一个TPopupMenu,添加一些菜单项,并为每个tmenue项指定TBitmap。然后可以使用以下表达式访问位图:
PopupMenu1.Items[index].Bitmap
或
在表单上放置一个TPopupMenu,添加一些菜单项,并为每个Tmenu项指定TBitmap。然后可以使用以下表达式访问位图:
PopupMenu1.Items[index].Bitmap
或
通过
Project>Resources and images
将图像添加为资源通过Project>Resources and images
将图像添加为资源在FireMonkey(XE4)中添加图像
然后访问它:
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;
感谢Peter Vonča在FireMonkey(XE4)中添加图像 然后访问它:
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;
多亏了Peter Vonča因为Delphi Android中没有ImageList,所以您必须:
var i : nativeint;
begin
i := 1;
load_image_from_resource(Image1, 'Bitmap_' + inttostr(i));
end;
因为Delphi Android中没有ImageList,所以您必须:
var i : nativeint;
begin
i := 1;
load_image_from_resource(Image1, 'Bitmap_' + inttostr(i));
end;
来自世界各地。对于现在看这个问题的人来说,因为Delphi XE8 FireMonkey有TImageList组件对于现在看这个问题的人来说,因为Delphi XE8 FireMonkey有TImageList组件谁说了弹出菜单的事?您确定您的答案与FMX有关吗?目标是将图像存储在资源中。将图像指定给TMenuItem的位图属性时,位图将存储在可执行文件的资源中。它更容易从资源中访问。如果没有ImageList,应该怎么做?有创意。谁说的弹出菜单?您确定您的答案与FMX有关吗?目标是将图像存储在资源中。将图像指定给TMenuItem的位图属性时,位图将存储在可执行文件的资源中。它更容易从资源中访问。如果没有ImageList,应该怎么做?要有创意。我很高兴你发现我的答案很有用,通常适当的步骤是接受解决你问题的答案。关于你的答案,问题不是关于如何访问资源,最好还是继续讨论这个话题。我很高兴你发现我的答案很有用,通常适当的步骤是接受解决你问题的答案。关于你的回答,问题不是关于如何访问资源,最好还是围绕主题。根据克里斯·罗利斯顿的文章,你不是要用样式来做这件事吗?@DavidHeffernan,克里斯的文章对这个问题很有帮助。这篇文章展示了一种可能的FMX解决方案,它可以解决我们通常期望Timagelist组件与其他使用它的控件一起使用时出现的行为,例如更改图像索引以区分工具栏上的用户交互速度按钮(热按钮、按下按钮、聚焦按钮等)。在这里,唯一的问题是如何存储图像供以后使用。这是一个非常短视的观点。图像列表允许共享图像。在FMX中,风格起作用。嗯,是的,我只是简单地总结了我认为这篇文章是关于什么的。这不是一个关于更改控件外观的问题,所以我仍然不知道您为什么认为这篇文章在这里很重要。Chris文章的标题是如何在FireMonkey项目中没有图像列表的情况下生存。这似乎与此有关。克里斯对FMX了解很多。而且它与VCL非常不同。根据克里斯·罗利斯顿(Chris Rolliston)的文章,你不打算在风格上这样做吗?@DavidHeffernan,克里斯的文章对这个问题很有帮助。这篇文章展示了一种可能的FMX解决方案,它可以解决我们通常期望Timagelist组件与其他使用它的控件一起使用时出现的行为,例如更改图像索引以区分工具栏上的用户交互速度按钮(热按钮、按下按钮、聚焦按钮等)。在这里,唯一的问题是如何存储图像供以后使用。这是一个非常短视的观点。图像列表允许共享图像。在FMX中,风格起作用。嗯,是的,我只是简单地总结了我认为这篇文章是关于什么的。这不是一个关于更改控件外观的问题,所以我仍然不知道您为什么认为这篇文章在这里很重要。Chris文章的标题是如何在FireMonkey项目中没有图像列表的情况下生存。这似乎与此有关。克里斯对FMX了解很多。它与VCL非常不同。