我有一个带有透明背景的 ICO 文件(用于我的 C++ 应用程序),在 Windows 资源管理器的小预览视图中看起来不干净。
(我的图标是在 PhotoShop 中绘制的形状,并导出为不同尺寸的 PNG,以便在 Gimp 中将其创建为 ICO。我的 ICO 包含以下像素大小:16, 20, 24, 28, 32, 36, 40, 48, 64, 128)
除了预览之外,它在任何地方看起来都正常且清晰。 我注意到所有其他程序图标一旦具有透明背景也看起来像这样。
图片中的所有图标都用红色标记,看起来很奇怪。虽然 PDF24 的更详细,但看起来还不错。至少边缘没那么奇怪。
为什么会这样,可以修复吗?
我搜索了微软和互联网,但找不到解决方案。我怀疑可能需要一个透明背景的BMP。不幸的是,这方面的信息也无法获得。我不是设计师。有人可以告诉我如何从我创建的形状生成解决方案吗?
PS: 我想我应该将文件上传到某个地方,但如果您只是从 PDF24 下载文件可能会更安全。您只需使用例如解压缩 exe 7-Zip 中的 .rsrc 是包含所有 ICO 文件的 ICON 文件夹。我能看到的唯一区别是 PDF24 有一个 Alpha 通道。但是当我将 Alpha 通道添加到我的文件中时,没有任何变化。
Windows XP 中引入了 Alpha 混合图标。在此之前,ICO 文件中使用了透明蒙版。到目前为止,似乎并非所有 Windows shell 视图都支持 alpha 混合图标...此外,从 Windows Vista 开始,他们添加了对 256px PNG 压缩图标的支持。
为什么会这样,可以修复吗?
不,不能。
此页面很好地描述了图标设计原则以及应包含在图标中的推荐尺寸和颜色数量。
从此页面:
应用程序图标和控制面板项目:全套包括 16x16、32x32、48x48 和 256x256(代码比例在 32 到 256 之间)。需要 .ico 文件格式。对于经典模式,全套尺寸为 16x16、24x24、32x32、48x48 和 64x64。
图标(.ico 格式)文件必须包含 4 位和 8 位版本,以及 24 位 + alpha。
位级别:ICO 设计为 32 位(包括 alpha)+ 8 位 + 4 位(自动抖动,仅最关键的像素戳)。仅应包含 256x256 像素图像的 32 位副本,并且仅应压缩 256x256 像素图像以减小文件大小。