Windows Shell如何调整图标叠加层?

我写了一个Shell Icon Overlay处理程序,它包含一个带有256,48,32和16位图标的多图像图标。 覆盖位在左下angular,分别为32,15,10和6位。

Windows资源pipe理器中,将“视图”设置为“小”,图标为16位,select的叠加消耗6位。 中等图标:48位覆盖10.全部如我所料。

当“视图”设置为“大”时,将使用一个96位的图标,该图标将覆盖15位。 无论这是来自48位重叠的15位,还是从256位下采样,我都不知道。 如果我为多图像添加一个96位覆盖图,使用32位覆盖图(就像testing),所使用的覆盖图仍然显示为15位。

当“视图”设置为“超大”时,使用的叠加层仍然只有15位。 只是一个非常大的图标上的斑点。

所有上述都在Windows 7上。在Windows 8桌面上,可以看到相同的结果,除了超大图标现在只覆盖12 * 12位图,明显从较大尺寸(15?32?)下采样

任何人都可以帮助一个明确的答案,我应该提供什么样的大小覆盖最大化的观看体验?

Solutions Collecting From Web of "Windows Shell如何调整图标叠加层?"

如果您在imageres.dll中看到lnk文件的覆盖图标,则会看到该图标包含以下格式:

  • 48x48x16
  • 32x32x16
  • 16x16x16
  • 48x48x8
  • 32x32x8
  • 16x16x8
  • 256x256x32
  • 48x48x32
  • 32x32x32
  • 16x16x32

我认为,如果微软使用这种格式的内部覆盖图标,那么最好使用相同的格式。