当我的应用程序的子窗口打开并且我查看 ALT + TAB 菜单时,应用程序图标看起来像素化。我假设Windows使用低分辨率版本的图标(我认为16x16像素)。我能做什么,Windows选择正确的32x32像素版本?
我为相关窗口分配了一个图标,其中包含16x16,24x24,32x32,48x38和256x256的真彩色。请注意,VS在保护中说使用了32x32,并且它适用于我的应用程序的主窗口,我在其中分配了完全相同的图标。
答案 0 :(得分:8)
Windows应用程序窗口的标题栏以16x16像素显示图标。但是,Alt-Tab列表显示32x32像素的图标。它使用与为窗口设置的相同的图标。如果你只设置一个32x32,那么标题栏必须缩小它,因为它使用nearest-neighbor interpolation时看起来很丑。那么如何支持两者?
答案是ICO文件!它支持在一个文件中嵌入多个图标,通常是各种尺寸的相同(或类似)图标,不常见的是颜色格式。
浏览器,Windows和其他浏览器通常设计为在给定的ICO文件中巧妙地使用适当大小的变体。所以答案是在内部有一个尺寸(或更多)的ICO文件。结果是标题栏正确使用16x16版本,而Alt-Tab使用较大的32x32版本。
保存带有多个图标的ICO文件的方法因程序而异。但是,GIMP可以很容易地做到(并且它是免费的)。诀窍是将各种大小的图标作为单独的图层。当您将其另存为ICO文件时,GIMP将提示您设置每个图层的大小和颜色格式。可以阅读带有图像的好教程here。
如果有人有任何关于在其他程序中创建多图标ICO文件的链接或建议,请随时添加它们。此外,我不确定Visual Studio内置图像编辑器是否可以做到 - 我很少接受它。
答案 1 :(得分:1)
修正了问题。我把图标放在错误的表格上。因为我不认为这个问题对任何人都有任何帮助,所以请随意将其删除。