2013-07-11 53 views
4

我正在製作幻燈片演示應用程序,並使用SDG 1.2使用Pygame的自定義dispmanx後端(https://github.com/vanfanel/SDL12-kms-dispmanx)在omplayer上創建疊加層。如何在Raspberry Pi上使用dispmanx創建透明窗口?

這一切工作正常,圖層正確,但我似乎無法在dispmanx中製作透明畫布,也無法讓對象透明。我的理解是Pygame本身無法處理這個問題,並且由SDL來處理dispmanx圖層之間的透明度。

我的目標是一個硬件加速的透明畫布,我可以在上面的omxplayer上使用我的屏幕大小。

我懷疑除了使用vc_dispmanx_element_add中的alpha設置來做這個以外,還有其他方法嗎? XBMC使用dispmanx,可以在omplayer上方做不透明疊加,所以這一定是可能的。我也看過vc_dispmanx_display_set_background,但這似乎只採取RGB而不是alpha。

回答

0

而不是創建一個透明窗口,你可以截取窗口的截圖並將其用作背景。要做到這一點,我用pyscreenshot取圖像(雖然還有其他選擇)和

os.environ['SDL_VIDEO_WINDOW_POS']="0,0" 

,以確保窗口是在正確的位置每一次,唯一的弱點這是一個窗口不再透明如果它背後有變化

+0

下面的omxplayer圖層將播放視頻,所以不幸我不認爲這會起作用。 – ajoburg

+0

對不起,我有類似的問題,這是我的解決方案,但我不知道omxplayer很多,所以我不能幫助更多 –