微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Delphi 2007中更改问题图标

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

我的图标是256×256.我使用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网站将256×256图标转换为192×192和更小,现在它完美地工作.谢谢你的回答

解决方法

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

你有两个可能的修复:

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

编辑以更正错误

如果可能,请始终包含256×256图像,Windows将其缩小至64×64以上的所有内容.

我一直认为Windows资源管理器会显示一个基于ICO中最接近的匹配图像大小的图像.也就是说,如果需要128×128图像,Windows将使用128×128图像(如果可用),或者缩小256×256图像(如果可用),或者放大96×96图像.显然不是这样.我刚刚创建了一个由多种图像格式组成的测试图标,包括32,48,72,96,128和256,由简单的颜色块组成(使用泛光填充工具).在Windows资源管理器中,我循环播放各种显示模式,很明显,从“大图标”(并且不是很大)开始,Windows将缩小256×256图标,如果不可用,请使用未缩放的48×48图标!结果真是丑陋和意外. 72×72,96×96和128×128图标被忽略了.

谢谢大卫指出这一点.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐