我正在开发一个幻灯片应用程序,并使用 SDL 1.2 使用自定义 dispmanx 后端 ( https://github.com/vanfanel/SDL12-kms-dispmanx ) 和 Pygame 在 omxplayer 之上创建覆盖。
这一切都运行良好并且分层正确,但我似乎无法在 dispmanx 中制作透明画布而不使我的对象也透明。我的理解是 Pygame 本身无法处理这个问题,由 SDL 来处理 dispmanx 层之间的透明度。
我的目标是一个硬件加速的透明画布,它的大小与我可以在 omxplayer 上方的屏幕大小相同。
我怀疑除了使用 vc_dispmanx_element_add 中的 alpha 设置之外,必须有其他方法来执行此操作?XBMC 使用 dispmanx 并且可以在 omxplayer 之上做不透明的覆盖,所以这一定是可能的。我还查看了 vc_dispmanx_display_set_background,但这似乎只需要 RGB 而不是 alpha。