2011-10-30 44 views
0

我正在寫一個Windows應用程序,它在Windows系統托盤(系統時鐘旁邊)顯示其托盤圖標。問題是我的圖標在一些背景上看起來很棒,而且在其他人看來很糟糕。可以通過在圖標周圍創建陰影或輪廓來解決此問題,但托盤圖標僅爲16x16像素,這使得前者非常難以實現。找出Windows系統托盤的背景顏色,爲我的應用程序選擇托盤圖標

所以我很好奇,有沒有辦法找出系統托盤背景是什麼,我的圖標顯示在RGBA平均值上? (我知道它現在不是純色,因此也就是「mean」)。如果是這樣,我確定有一個算法來確定它是否是明亮的(灰色,銀色)與黑色背景(藍色或黑色)。這會讓我加載我的托盤圖標的黑暗或明亮的版本。

+0

太糟糕的圖標列表不像Emacs的面孔,您可以在其中爲明暗背景指定不同的變體。 (由於應用程序不告訴Windows他們將在哪個背景上繪製圖標,所以現在做得太遲了,而且它可能不適用於在圖像上繪製的圖標,例如在具有壁紙的桌面上,無論如何...) – SamB

回答

1

由於您僅提供一個圖標,因此您沒有選擇在圖標應該顯示的區域進行繪製的選項。在Aero關閉的情況下,顏色預計爲GetSysColorCOLOR_BTNFACE),否則事情會更加複雜並涉及透明度,因此appbar下方的窗口實際上會影響系統托盤圖標周圍的背景顏色。

+0

好的,那麼。我希望找到答案... – ahmd0