【发布时间】:2015-08-24 16:32:41
【问题描述】:
我想显示一组例如30 位图在一个表单上是一个小数字。我在这个表单上放置了几个 TImage 组件,并在设计时加载了图像。现在我想在表单开始时交换图像,同时将位图从 TImagelist 加载到 Timage 组件中。我失败了,因为 Timagelist 最多只能容纳 128 x 128 像素的图像。
问:如何为大图像制作图像列表?
我没有选择:
- 在启动过程中从文件中加载图像.....
- 放置 40 张图片 在我的表单上显示正确的 TImage[i].visible := true;
【问题讨论】:
-
将它们添加为资源。此外,您可能希望切换到一些无损压缩图像格式,例如PNG 以使您的可执行文件更小。
-
JediVCL/RxLib 等库也有一个组件可以将文件保存在 DFM 中 - 您只需将其放到表单中即可。所以你可以用图片制作一个 zip,然后把这个 zip 放到 DFM 中,在运行时你可以循环解压缩图片并加载它们,一个接一个地使用 EXE 资源也是可能的,但是恕我直言,这需要更多的手动工作跨度>
-
另一个选项graphics32.org/documentation/Docs/Units/GR32_Image/Classes/… 但我认为它可能会大大增加内存占用
-
图像列表是为按钮、菜单等上的字形设计的。它们不是您所需要的。链接一些 png/jpg 图像作为资源。或者有外部文件。