libVLC 在视频上叠加透明窗体

在做多媒体开发时,很多时候需要在视频中添加一些“额外的装饰”,像图片、文字、或者一些其他图形形状,这使得显示效果更加丰富。

可能你觉得很简单:用一个 label 盖上去,或者直接将 image 画上去不就好了?no、no、no,按照传统的渲染方式,一般很难达到要求,需要一些小小的技巧才行!

举个栗子,要在视频上显示一行文字和一个矩形,应该怎么做?这是一个简单的演示效果:

下面,我们来一步步地深入,看看到底会遇到什么问题,又需要用到哪些技巧!

1

传统的控件叠加显示

要进行 2D 图形绘制,可以重写 paintEvent() 事件,然后画任何想要的东西,例如:点、线、面等。

例如,绘制一个线宽为 5,背景透明的矩形,可以这样做:

你可能感兴趣的:(libVLC 在视频上叠加透明窗体)