2011-10-03 96 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或更少)。