Ico格式 - 32位PNG与32位BMP对比24位BMP

时间:2012-08-27 18:11:10

标签: icons png bmp alpha-transparency ico

我正在发布一个.NET程序,并处于抛光阶段。我需要在项目属性中设置图标。根据我的研究,我想创建以下像素大小的图像,以满足所有图标大小:16,32,48,96,256。

我还找到了一个程序,将5张图片转换为名为“png2ico”的单个ico文件。

我的问题是这个。我的源图片是32位(RGB + alpha)PNG文件。我听过只有Vista,后来支持读取带有PNG内容的.ico文件,如果我向那些可能只有Windows XP的公众发布,那么使用带有PNG的ico文件是危险的吗?

如果我需要在内部使用带有BMP的ico文件,那么使用32位BMP是否危险?由于抗锯齿等原因,我宁愿不使用24位BMP。

如果我需要在PNG上使用BMP,是否有任何建议将程序从多个BMP转换为单个.ico文件?

2 个答案:

答案 0 :(得分:2)

png2ico将png作为源文件,但并未声明它实际上在生成的ico文件中使用了png压缩。

我建议您使用Gimp,在那里您可以创建一个图像,其中包含您希望生成的ico支持的每个尺寸的图层。然后,当您导出/另存为ico时,它会询问您为每个图层所需的压缩。

对于最大的图层(96和256),使用png压缩是非常安全的,因为通常较旧的桌面不会显示如此大的图标。

答案 1 :(得分:1)

PNG图像仅显示在Vista +上,但不应在旧版本上出现问题。

32位BMP在XP +上正常工作,在旧版本上显示破坏的alpha通道(黑色)(可以通过适当的掩码避免(大多数图标编辑器不支持32bpp图像吗?),然后它将显示为24bpp图片)

你真的应该使用真正的图标编辑器,那里有several free个应用程序。