本文主要是介绍libVLC 在视频上叠加透明窗体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
作者:一去、二三里
个人微信号:iwaleon
微信公众号:高效程序员
在做多媒体开发时,很多时候需要在视频中添加一些“额外的装饰”,像图片、文字、或者一些其他图形形状,这使得显示效果更加丰富。
可能你觉得很简单:用一个 label 盖上去,或者直接将 image 画上去不就好了?no、no、no,按照传统的渲染方式,一般很难达到要求,需要一些小小的技巧才行!
举个栗子,要在视频上显示一行文字和一个矩形,应该怎么做?这是一个简单的演示效果:
下面,我们来一步步地深入,看看到底会遇到什么问题,又需要用到哪些技巧!
传统的控件叠加显示
要进行 2D 图形绘制,可以重写 paintEvent() 事件,然后画任何想要的东西,例如:点、线、面等。
例如,绘制一个线宽为 5,背景透明的矩形,可以这样做:
void SubWidget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event); QPainter painte
这篇关于libVLC 在视频上叠加透明窗体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!