gpt4 book ai didi

sdl - 如何在 Raspberry Pi 上使用 dispmanx 创建透明窗口?

转载 作者:行者123 更新时间:2023-12-02 11:36:14 30 4
gpt4 key购买 nike

我正在开发一个幻灯片应用程序,并使用 SDL 1.2 结合自定义 dispmanx 后端 ( https://github.com/vanfanel/SDL12-kms-dispmanx ) 和 Pygame 在 omxplayer 之上创建叠加层。

一切都运行良好并且分层正确,但我似乎无法在 dispmanx 中制作透明 Canvas 而不使我的对象也透明。我的理解是 Pygame 本身无法处理这个问题,需要由 SDL 来处理 dispmanx 层之间的透明度。

我的目标是硬件加速的透明 Canvas ,其大小与 omxplayer 上方的屏幕大小相同,我可以在上面绘图。

我怀疑除了使用 vc_dispmanx_element_add 中的 alpha 设置之外还必须有其他方法来执行此操作? XBMC 使用 dispmanx 并且可以在 omxplayer 之上进行不透明覆盖,因此这一定是可能的。我还查看了 vc_dispmanx_display_set_background,但这似乎只采用 RGB 而不是 alpha。

最佳答案

您可以截取窗口的屏幕截图并将其用作背景,而不是创建透明窗口。为此,我使用 pyscreenshot 来拍摄图像(尽管还有其他选项)和

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

为了确保窗口每次都位于正确的位置,唯一的缺点是如果窗口后面发生变化,窗口将不再透明

关于sdl - 如何在 Raspberry Pi 上使用 dispmanx 创建透明窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17583295/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com