在Delphi 2007中更改问题图标

Kin*_*ong 6 delphi icons

我一直在使用别人制作的程序,我想改变图标.

我的图标是256x256.我用http://converticon.com/创建了图标(我认为是bmp).我使用Inno Setup中的图标创建了一个安装程序,它工作正常

所以我转到选项 - >应用程序并尝试加载它.但是,Delphi 2007给出了一个错误'参数不正确'.有了这个信息:http://i.stack.imgur.com/vRCgs.png

当我在Delphi XE中做同样的事情时,它可以工作并加载图标并在编译时更改它.我现在不能使用XE,因为该程序使用了一个unicode问题的数学解析器(这可以解决以后的问题)

所以,我所做的是在XE中打开项目,更改图标,保存它,删除dproj并在2007年打开它.这可以工作,编译并显示正确的图标,但是当我转到项目选项时,它给了我相同的'参数不正确'错误.

解决方法不是什么大问题,但我不应该这样做.有谁知道为什么我不能在Delphi 2007中更改图标?

编辑:我只是使用相同的converticon网站将256x256图标转换为192x192和更小,现在它完美地工作.谢谢你的回答

Cos*_*und 5

“图标”文件实际上是图像的集合,具有不同的分辨率和使用不同的编码。当我创建我的图标时,我要确保它们实际上不包含 256x256 PNG 编码版本,因为在 Windows Vista 之前构建的开发工具不理解这一点。这包括您的 Delphi 2007 和我的 Delphi 7。我还删除了 alpha 编码的 256x256 图标,因为它只会使文件不必要地变大。

你有两个可能的修复:

  • 找到一个 ICO 编辑器并删除所有较大的格式,直到您的 Delphi 接受该图标。我个人从未见过在现实世界中使用 256x256,它们会占用用户桌面或 Windows 资源管理器中的大量空间。
  • 使用虚拟图标并在Delphi 完成后替换生成的exe 中的图标资源。通过这种方式,您可以保留所有较大的图像格式,包括 256x256 PNG 图像。

编辑以纠正错误

如果可能,请始终包含 256x256 图像,Windows 会将其缩小到 64x64 以上的所有图像。

我一直认为 Windows 资源管理器会显示基于最接近的图像ICO 中可用的匹配图像大小。也就是说,如果需要 128x128 图像,Windows 将使用 128x128 图像(如果可用),或缩小 256x256 图像(如果可用),或放大 96x96 图像。显然不是这样。我刚刚制作了一个由多种图像格式组成的测试图标,包括 32、48、72、96、128 和 256,由简单的颜色斑点组成(使用洪水填充工具)。在 Windows 资源管理器中,我循环抛出各种显示模式,很明显,从“大图标”开始(这不是很大)Windows 将缩小 256x256 图标,如果这不可用,请使用未缩放的 48x48 图标!结果真的很丑陋和出乎意料。72x72、96x96 和 128x128 图标被简单地忽略了。

感谢大卫指出这一点。