我正在尝试创建一个隐藏覆盖,捕获触摸事件(负责使用oscpack
发送数据包)。因此,我需要创建一个透明的全屏窗口。 (如果交叉兼容性有问题,编辑:win32会很好)
在official documentation中,ofBackground
似乎接受Alpha混合,但当我编写ofBackground(0, 255, 0, 10);
并运行项目时,窗口不透明。
我也尝试使用ofEnableAlphaBlending();
,但结果是一样的。 (我认为它只能为新绘制的东西进行alpha混合)
我试图挖掘更多,我在这个方法中找到了一点评论:
ofAppGlutWindow::setupOpenGL(int w, int h, int screenMode)
{
//code
}
/*
ofBackground(200,200,200); // default bg color
ofSetColor(0xFFFFFF); // default draw color
// used to be black, but
// black + texture = black
// so maybe grey bg
// and "white" fg color
// as default works the best...
*/
这对我来说没有像我最初想的那样帮助我,我仍然被卡住了。
答案 0 :(得分:2)
您无法直接使用openFrameworks执行此操作。您需要创建具有透明背景的OpenGL上下文。这很难做到,我不知道你是否可以将它与oF集成,但你可以测试this。
但是,如果您使用的是OSX,则会出现以下插件:ofxTransparentWindow
一个肮脏的技巧是获取桌面图像并将其作为背景添加到你的ofApp中。