【问题标题】:Drawing transparent rectangle wxWidgets绘制透明矩形 wxWidgets
【发布时间】:2016-03-12 07:40:53
【问题描述】:
怎么可能用wxWidgets画一个透明的矩形,我试过用透明画笔,但是没用,而且我搜索的时候发现任何使用wxDC的东西都不支持透明,所以我有使用wxGraphicsContext,但是当我尝试使用它时,我得到了这个错误wxGraphicsContext was not declared in this scope,它不适用于所有platforms,那么绘制transparentshapes/images的最佳解决方案是什么?可以在大部分platforms 上工作?
【问题讨论】:
标签:
c++
c++11
mingw
codeblocks
wxwidgets
【解决方案1】:
正如您已经发现的那样,您需要使用wxGraphicsContext 来获得任何重要的透明度支持(wxDC 中对它的支持仅限于使用 alpha 通道绘制位图)。您构建的 wxWidgets 可能不包含它,因为在使用 MinGW 时默认禁用它,因为它并不总是带有必要的头文件和库。如果你拥有它们——并且如果你使用 MinGW-w64 或 TDM-GCC,你很有可能这样做——你必须在构建 wxWidgets 时显式启用 GDI+ 支持,如果你使用的是 --enable-graphics_ctx 选项配置或直接编辑wx/setup.h文件并将其中的wxUSE_GRAPHICS_CONTEXT设置为1。