Delphi 2007 应用程序中的 Windows 7 兼容图标集

5
在Delphi应用程序中定义win7兼容的图标集的正确方法是什么?(桌面上大小可变)
我设计了一个256*256的图标,然后制作了16*16、24*24、48*48的变体。(在Microsoft UX指南中,他们似乎说这些尺寸应该包含在正确的桌面显示中。)
我将所有图标变体放在Gimp的多层文档中,并将整个内容导出为ico。然后,我按照分配应用程序图标的直接方式将其放置在项目选项中。
最后,我在Win桌面(Win7)上放置了一个快捷方式,但当在桌面上进行“Ctrl+Wheel”(如果你还不知道的话,这是调整桌面图标大小的方法)时,在48*48之后,正确的图标没有显示,只保留了相同的大小(我怀疑只使用了48*48版本)。

256像素的版本必须是PNG格式的。您需要使用IcoFX将各种图像合并为.ico文件。另外,一些旧版本的Delphi资源编译器不支持256像素的PNG图标。如果是这种情况,请使用MS rc代替。 - David Heffernan
不,256像素版本目前还没有压缩。 - az01
实际上,我认为系统确实接受256像素的bmp文件。但这仍然不是一个好主意。它们太大了! - David Heffernan
1个回答

8
256像素大小的图标应该是一个经过压缩的PNG格式的图标。我怀疑Delphi 2007附带的资源编译器不支持这种格式,因此您需要使用MS资源编译器rc。图标应命名为“MAINICON”。话虽如此,我认为256像素位图也可以工作,只是会非常大。
此外,据我所知,Delphi IDE不喜欢256px PNG图标,因此通过IDE添加图标没有什么用。您需要自己构建.res文件,并链接一个“{$R ...}”指令。
最后,可能您的.ico文件可能不正确。实际上,256像素的图像的宽度和高度都为0,因为该字段是字节大小的,而且0以前是无效的。也许这就是IDE无法处理的原因。在其他工具中检查.icof文件,例如IcoFX。
可能会出现其他问题-这些只是我多年来遇到过的问题。如果我必须猜测哪个问题正在折磨您,我会说这是IDE无法处理256像素的图标。
我相信IDE在这个领域的表现已经越来越好了,但即使在我目前使用的D2010版本中,也并不完美。

我使用XE2 beta提供的资源编译器来编译图标集。它与Microsoft的编译器相同,只是我不需要h文件。它可以编译rc文件...实际上问题仍然存在。只是D2007输出的exe RC数据不管理压缩资源...没有办法改变这一点。即使在ResHack中也无法替换资源...在旧版本中就是这样。 - az01
我没有XE2,但我希望brcc32仍然与MS rc不同。我已经成功地使用压缩图标和rc工具编译了几年。 - David Heffernan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接