绘制视频并在顶部添加文字

2023-11-27

我正在开发一个应用程序,但遇到了一个问题,我似乎无法找到解决方案。该应用程序是用 vc++ 编写的。我需要做的是显示 YUV 视频源,并在其顶部显示文本。

现在,它可以通过使用 GDI 在 OnPaint 方法中绘制文本以及在 DirectDraw 覆盖上绘制视频来正常工作。我需要摆脱覆盖层,因为它会导致很多问题。它不适用于某些显卡、vista、7 等。

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

有没有办法将文本直接绘制到 DirectDraw 缓冲区或内存缓冲区或其他东西,然后将其 blt 到后台缓冲区?我应该一起考虑另一种方法吗?两个重要的操作系统是 XP 和 7。如果有人有任何想法请告诉我,我将对其进行测试。谢谢。


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

DirectShow 股票代码示例

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘制视频并在顶部添加文字 的相关文章

随机推荐

  • OpenJDK 或 Sun Java for IntelliJ IDEA [重复]

    这个问题在这里已经有答案了 可能的重复 在 Ubuntu 11 10 上安装 IDEA 我已经使用 OpenJDK 运行 IntelliJ IDEA 但在从终端启动 IntelliJ IDEA 时 它向我显示 idea sh OpenJDK
  • 用于跟踪更改历史记录的数据库结构

    我正在为一个项目管理系统作为个人项目进行数据库设计 但我遇到了障碍 我想实现一个票证系统 并且我希望票证看起来像特拉克门票 我将使用什么结构来复制这个系统 我还没有在我的任何系统上成功安装 trac 所以我真的看不到它在做什么 注意 我对尝
  • 在 Swift 中,如果我有一个捕获 [weak self] 的闭包,那么在闭包开始时解开可选的 self 是一个好习惯吗?

    我正在将 Swift 用于 macOS 应用程序 Xcode 是 12 5 1 想象一下我有以下代码 func performAsyncTask completion weak self error Error in self somePr
  • 为什么我的应用程序要求手机 ID 权限?

    在我的清单中 我只要求这两个权限
  • Django - 删除对象,保留父对象?

    我有以下多表继承情况 from django db import Models class Partner models Model this model contains common data for companies and per
  • tkinter ttk 树视图彩色行

    我正在尝试使用标签和 tag configure 将颜色设置为 tkinter treeview 对象中的行 之前有过关于行着色的讨论 该讨论相当古老 并且似乎不再适用于 Python3 ttk 树视图 交替行颜色 我添加了一个简短的例子
  • 如何将 std::future 转换为 std::future

    我有一种情况std future
  • 在 MVC Razor 视图中显示模型中的 HTML 字符串

    我有一个模型 它返回带有换行符 BR 标记的 HTML 字符串 但是如何在浏览器上显示该 HTML 问题在于换行符 标签本身显示在 UI 上 我尝试将模型放入 Html Raw modelItem gt item Speaking 中 但它
  • 哪些类型对于方法的“self”参数有效?

    我想创建一种仅在以下情况下有效的方法self参数是一个Rc 我看到我可以使用Box 所以我想我可以尝试模仿它的工作原理 use std rc Rc use std sync Arc struct Bar impl Bar fn consum
  • 读取 xls 文件的标头无效

    我正在本地系统上读取一个 Excel 文件 我正在使用 POI jar 版本 3 7 但收到错误 Invalid header signature 读取 2300849302551019537 或十六进制 0xE011BDBFEFBDBFE
  • 避免apk被破解[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 最近 我使用带有 ServerManagedPolicy 模型的许可系统向 Android Market 发布了一个应用程序 几天前 有人破解了该 apk 使其始终响应 使用缓存
  • 使用一致的映射对数据帧列中的值进行因式分解

    我如何使用熊猫factorize具有跨两列存在的值 具体来说 我试图将两列中存在的值转换为数值 并将相应的分解值放入新列中 以便分解与两个输入列 A 和 B 一致 现有数据框 A B 0 a b 1 c a 2 d a 3 e c 4 c
  • 如何查找Python包的依赖关系

    如何以编程方式获取 Python 包的依赖项列表 标准setup py已记录这些内容 但我找不到简单的方法来访问它fromPython 或命令行 理想情况下 我正在寻找类似的东西 pip install somepackage only l
  • MATLAB 中的背景减法

    我正在寻找对图像进行背景减去 我是 MATLAB 新手 也是图像处理 分析新手 如果这听起来很愚蠢 我很抱歉 1 除减法 还有其他方法可以进行背景扣除 除了将一张图像与另一张图像进行比较之外 吗 2 在数学作品中解释对于 imsubtrac
  • Android:如何在右上角按钮角添加三角形

    我想做这种在布局右上角带有三角形的按钮 我已经开始了这个布局 但还没有这个三角形
  • DataContext 对象的结构图处理

    我想确定结构图是否会在每个请求结束后处理我的 DataContext 这是我的设置 ForRequestedType
  • Google 放置自动完成功能 - 位置和半径不起作用

    我试图设置谷歌地点自动完成功能 以从最近的点对结果进行排序 我有这样的代码 var defaultPlace new google maps LatLng 49 227463 16 546097 var optionsAuto locati
  • Rmarkdown:关闭标题

    如何关闭 Rmd HTML 文档中的标题 title output html document rmarkdown render index Rmd 警告 此文档格式需要非空元素 请在元数据中指定 标题 或 页面标题 回退到 index u
  • 第一个点和最后一个点之间的线[重复]

    这个问题在这里已经有答案了 我正在 Matplotlib 中使用 plot x y 命令绘制图表 其中 x 和 y 是数组 在生成的图表中 我将第一个点和最后一个点用一条线连接起来 如何避免第一个点和最后一个点相连 我有类似的问题 如你所见
  • 绘制视频并在顶部添加文字

    我正在开发一个应用程序 但遇到了一个问题 我似乎无法找到解决方案 该应用程序是用 vc 编写的 我需要做的是显示 YUV 视频源 并在其顶部显示文本 现在 它可以通过使用 GDI 在 OnPaint 方法中绘制文本以及在 DirectDra