2014-04-09 16 views
0

我寫過一個Shell Icon Overlay處理程序,它包含一個帶有256,48,32和16位圖標的多圖像圖標。覆蓋位位於左下角,分別爲32,15,10和6位。Windows Shell如何調整圖標疊加層的大小?

在Windows資源管理器中,將「視圖」設置爲「小」,圖標爲16位,選擇的疊加層消耗6位。中等圖標:48位覆蓋10.全部如我所料。

當View設置爲Large時,會使用一個96位圖標,該圖標會覆蓋15位。無論這是來自48位疊加的15位,還是從256位下采樣,我都不知道。如果我爲複合圖像添加一個96位覆蓋圖,使用32位覆蓋圖(就像測試一樣),所使用的覆蓋圖仍然顯示爲15位。

當視圖設置爲超大時,使用的覆蓋仍然只是15位。只是一個非常大的圖標上的斑點。

以上所有內容均在Windows 7上。在Windows 8桌面上,可以看到相同的結果,除了超大圖標現在僅覆蓋12 * 12位圖,明顯從較大尺寸(15? 32?)

任何人都可以幫助一個明確的答案,我應該提供什麼樣的大小覆蓋最大化的觀看體驗?

回答

2

如果您在imageres.dll LNK文件的圖標覆蓋看你會看到該圖標包含以下格式:

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

我認爲,如果微軟採用這種格式的內部覆蓋圖標是使用相同的格式過於最佳的變體。

+0

顏色深度對算法有重要意義嗎? Visual Studio不支持32位彩色圖標,所以我一直無法嘗試。我已經嘗試了下面的顏色深度,並沒有看到任何區別。 –

相關問題