我有一个 VB6 应用程序,其中一个表单图标设置为应用程序图标。问题是在 Windows 7 中,即使图标包含 16x16、32x32 和 48x48 尺寸,图标看起来也很模糊。
有没有办法解决这个问题?它尝试了 SendMessage(... SETICON... ICON_BIG) 但它似乎不起作用。
我有一个 VB6 应用程序,其中一个表单图标设置为应用程序图标。问题是在 Windows 7 中,即使图标包含 16x16、32x32 和 48x48 尺寸,图标看起来也很模糊。
有没有办法解决这个问题?它尝试了 SendMessage(... SETICON... ICON_BIG) 但它似乎不起作用。
ico 文件中的图标颜色深度是多少?
VB6(我相信)支持图标的最大 8 位颜色深度(256 色):-
因此,如果在 8 位颜色深度中没有大小为 48 x 48 的图标,它可能会使用最接近的匹配并将其缩放到 48 x 48
编辑:
我刚刚尝试使用一个没有 8 位深度的 48 x 48 图标(但在更高深度有 48 x 48)的图标,并且任务栏中使用的图标是 8 位颜色深度的 32 位图标。
我并没有声称了解用于选择要在各个地方显示的图标图像的完整启发式方法,但我认为这里发生的事情是您的 48x48 图像正在被拍摄和缩小。
我怀疑在许多版本的 Windows 上使用 VB6 程序会发生什么情况,如果没有 16 色 16x16 图像,则会拍摄和缩放更大的尺寸。原因可能仅仅是由于 ICO 资源/文件中图像的顺序。
如果您编辑您的 ICO 并添加 16x16 图像的 16 色版本,您的“问题”可能会消失。