我想知道如何使窗口透明,而不是切孔或整体透明度相同。
好吧,就说我想拍一张玫瑰或其他东西的 PNG 图像,让它与后面的东西很好地融合,并允许后面的东西重新绘制,并让它们的变化通过图片/窗口的透明部分闪耀。
我可以(或愿意)使用 wxWidgets 或 OpenGL 之类的东西。而不是 Qt 或 GTK。
最佳答案
我发现使用 wxW 在屏幕上显示透明图片其实非常简单:
wxScreenDC dc;
wxBitmap bmp(wxT("test.png"), wxBITMAP_TYPE_PNG);
dc.DrawBitmap(bmp, 250, 100, true);
现在我必须弄清楚如何处理更新等,它必须在更新时(可能部分重绘)。
就目前而言,它只是在自身之上重新绘制自身,使其在一段时间内变得完全不透明。
有另一个版本的 wxScreenDC::DrawBitmap 将窗口作为参数,也许它解决了这个问题?
关于c++ - C++ 中的跨平台透明窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993777/