我一直在使用别人制作的程序,我想改变图标.
我的图标是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和更小,现在它完美地工作.谢谢你的回答
“图标”文件实际上是图像的集合,具有不同的分辨率和使用不同的编码。当我创建我的图标时,我要确保它们实际上不包含 256x256 PNG 编码版本,因为在 Windows Vista 之前构建的开发工具不理解这一点。这包括您的 Delphi 2007 和我的 Delphi 7。我还删除了 alpha 编码的 256x256 图标,因为它只会使文件不必要地变大。
你有两个可能的修复:
如果可能,请始终包含 256x256 图像,Windows 会将其缩小到 64x64 以上的所有图像。
我一直认为 Windows 资源管理器会显示基于最接近的图像ICO 中可用的匹配图像大小。也就是说,如果需要 128x128 图像,Windows 将使用 128x128 图像(如果可用),或缩小 256x256 图像(如果可用),或放大 96x96 图像。显然不是这样。我刚刚制作了一个由多种图像格式组成的测试图标,包括 32、48、72、96、128 和 256,由简单的颜色斑点组成(使用洪水填充工具)。在 Windows 资源管理器中,我循环抛出各种显示模式,很明显,从“大图标”开始(这不是很大)Windows 将缩小 256x256 图标,如果这不可用,请使用未缩放的 48x48 图标!结果真的很丑陋和出乎意料。72x72、96x96 和 128x128 图标被简单地忽略了。
感谢大卫指出这一点。