2011-10-03 97 views
0

我有一個wxWidgets程序。對於其中的一部分,如果系統支持alpha混合,我希望使用alpha通道「淡化」一組圖標,如果不支持,則灰度化它們,但似乎無法找到任何方法說明系統是否支持α混合。檢測系統是否支持alpha通道(通過wxWidgets)

有什麼我很想念,或者有沒有wxWidgets和/或跨平臺的方式來做到這一點?

(我還算好wxWidgets的精通,但我從來沒有做過alpha混合之前)。

回答

0

從我可以告訴你一個頂層窗口調用CanSetTransparent,如果返回true,呼叫SetTransparent,值爲<255.如果返回true,則系統支持阿爾法透明度。您必須在之後執行此操作顯示您正在使用的頂級窗口。

CanSetTransparent只檢查Windows下的操作系統版本,總是在Mac OS返回true,並同時檢查編譯時GTK版本和wxGTK功能。SetTransparent需要在Windows和GTK根據該值是否是不同的路徑255或更少)。