如何制作与 Vista/7 和 XP 兼容的图标?

Posted

技术标签:

【中文标题】如何制作与 Vista/7 和 XP 兼容的图标?【英文标题】:How do you make an icon that's compatible with Vista/7 and XP? 【发布时间】:2011-06-30 15:16:18 【问题描述】:

有没有办法制作一个包含高分辨率 .PNG 副本的图标文件,以供 Windows 7 和 Vista 使用,但还包括老式 .ico 格式,以便它与 XP 一起使用?

我最近遇到了一个problem,其中包含我编写的程序,每当它在 XP 盒子上运行时就会崩溃,这是由于应用程序图标是 .PNG 造成的。因为 Vista 和 7 支持更高分辨率的图标,可以有透明胶片等等我想使用它,但我还需要程序在 XP 上运行,所以我还需要让它包含一个 .ico。

我可以想到两种解决方案:

    设置程序,使其检测操作系统并相应地分配适当的图标

    1234563李>

希望我已经说得够清楚了.. :)

开发环境:Visual Studio 2010 操作系统:Windows 7 Ultimate 语言:C# .NET 4.0

【问题讨论】:

只需使用IcoFX。它是完全免费的,而且我从来没有遇到过它生成的图标文件的问题。 【参考方案1】:

你说的 png 图标到底是什么意思?

XP 上的图标支持 alpha 透明度,但它们不存储为 png,而是 32bit ARGB 位图。

Vista 添加了对在图标中存储 png 图像的支持,但我不清楚您是在谈论这个还是只是将 .png 重命名为 .ico

在 XP 上嵌入 .png 图像的正确 .ico 文件应该没有问题(但是 XP 会忽略这些,因此您应该只对 256x256 图像使用 png 格式),也许您应该尝试不同的图标编辑:IcoFX 和 Greenfish Icon Editor 都是免费的

【讨论】:

IcoFX 非常完美。我有一个保存 .ico 的 Photoshop 插件,但显然它做得不是很好。 我使用 convertico.com 将我的 PNG 文件转换为图标,并且几乎没有(如果有的话)问题。

以上是关于如何制作与 Vista/7 和 XP 兼容的图标?的主要内容,如果未能解决你的问题,请参考以下文章

Windows XP 与 Vista/7 上的 MS Crypto API 行为

如何在 Windows 中从我的 VS2008/C++ 应用程序中执行一个程序来替换调用者并在 xp/vista/7 上运行?

如何在 ext 4 中制作完整的模态窗口?

制作Vista/7 User Frame 控件? (WinAPI)

我的 Windows 应用程序的图标应包括哪些图标尺寸?

如何将win10桌面变成xp桌面图标