如何使用wxWidgets
绘制透明矩形,我尝试使用透明刷,但它不起作用,当我搜索时发现任何使用wxDC
的内容都不支持透明因此我必须使用wxGraphicsContext
,但当我尝试使用它时,我收到此错误wxGraphicsContext was not declared in this scope
,并且它不会对所有platforms
起作用,那么什么是最佳解决方案绘制transparent
shapes/images
,它将适用于大多数platforms
?
答案 0 :(得分:2)
正如您已经发现的那样,您需要使用wxGraphicsContext
来获得任何非平凡的透明度支持(在wxDC
中对它的支持仅限于使用alpha通道绘制位图)。您构建的wxWidgets可能不包含它,因为它在使用MinGW时默认禁用,因为它并不总是带有必要的头文件和库。如果你有它们 - 如果你正在使用MinGW-w64或TDM-GCC,你可能会这样做 - 你必须在构建wxWidgets时明确启用GDI +支持,如果你使用--enable-graphics_ctx
选项重新使用configure或直接编辑wx/setup.h
文件并将wxUSE_GRAPHICS_CONTEXT
设置为1。