首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在顶部绘制文本的视频

在顶部绘制文本的视频
EN

Stack Overflow用户
提问于 2010-02-16 13:12:28
回答 2查看 2.6K关注 0票数 6

我正在开发一个应用程序,我有一个问题,我似乎找不到解决方案。该应用程序是用vc++编写的。我需要做的是显示一个YUV视频馈送与文本在它的顶部。

现在,通过使用GDI在OnPaint方法中绘制文本,并在DirectDraw覆盖图上绘制视频,它可以正常工作。我需要去掉覆盖,因为它会导致很多问题。它不能工作在一些显卡,vista,7,等等。

我想不出一种更兼容的方式来完成同样的事情。我可以使用带有后台缓冲区的DirectDraw绘制视频,并将其复制到主缓冲区。这里的问题是,在GDI中绘制的文本会因为视频刷新的次数而闪烁。我真的很想保持代码,以绘制文本,如果可能的话,因为它工作得很好。

有没有一种方法可以直接将文本绘制到DirectDraw缓冲区或内存缓冲区或其他地方,然后将其blt到后台缓冲区?我应该一起看另一种方法吗?两个重要的操作系统是XP和7。如果有人有任何想法,请让我知道,我会测试他们。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-16 13:37:47

尝试在microsoft.com上查看DirectShow和Ticker示例:

DirectShow Ticker sample

此示例使用视频混合渲染器混合视频和文本。它使用IVMRMixerBitmap9界面将文本混合到视频窗口的底部。

DirectShow用于构建用于播放音频或视频流的过滤器图,并为视频和音频样本的不同效果和操作添加不同的过滤器。

票数 2
EN

Stack Overflow用户

发布于 2010-02-16 14:26:01

也可以使用ISampleGrabber界面,而不是使用DirectShow的视频混合渲染器。优点是,它是一个过滤器,也可以与其他渲染器一起使用,例如,当不在屏幕上显示视频,而是通过网络流式传输视频或将其转储到文件时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2270809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档