簡體   English   中英

OpenFrameworks中的透明背景窗口

[英]Transparent background window in OpenFrameworks

我正在嘗試創建一個不可見的覆蓋層來捕獲觸摸事件(它將負責使用oscpack發送數據包)。 因此,我需要創建一個透明的全屏窗口。 (編輯:如果存在交叉兼容性,win32會很好)

官方文檔中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...
            */

這並沒有像我最初想象的那樣對我有多大幫助,但我仍然受困。

您不能直接使用openFrameworks執行此操作。 您需要創建一個具有透明背景的OpenGL上下文。 這很難做到,我不知道是否可以將其與oF集成,但是可以對此進行測試。

但是,如果您使用的是OSX,則有以下附加組件: ofxTransparentWindow

一個骯臟的技巧是獲取桌面圖像並將其作為背景置入您的ofApp中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM