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

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(使用前将#替换为@)

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

  • 从命令行将 java_opts 设置为 tomcat 服务

    我有一个在Windows上运行的tomcat7服务 通常为了配置 Java 选项 我会转到 Tomcat 7 0 bin tomcat7w exe 并在 java 选项卡中 在 java 选项中打印我想要的定义 例如 javaagent 我
  • HTTP 错误 500.22 - 内部服务器错误(已检测到不适用于集成托管管道模式的 ASP.NET 设置。)

    当我查看应用程序时 我收到此错误 HTTP 错误 500 22 内部服务器错误 已检测到不适用于集成托管管道模式的 ASP NET 设置 安装了 Net Framework 2 0 3 5和4 并且我使用的是SQL 2008 谁能告诉我这个
  • 如何使用 powershell 以编程方式查找用户 HKEY_USERS 注册表项?

    我想知道如果您知道本地计算机上该用户的登录名 是否有办法在 HKEY USERS 中找到该用户的注册表项 我想以编程方式将内容添加到特定用户的注册表项 例如自动运行 但我只知道用户名 如何确定 HKEY USERS 中的哪些神秘用户实际上属
  • Win32 DrawText 行高

    我正在调用 Win32DrawText函数将一些文本输出到设备上下文中 文本很长 可以很好地换行到第二行 问题是我需要稍微减少行之间的间距 我想减少行高 关于如何做到这一点有什么想法吗 我只想打电话DrawText两次 每行一次 但随后我必
  • 如何读取硬盘S.M.A.R.T.属性?

    我会监控 Windows 7 客户端上的智能 HDD 我希望在不使用任何 vbs 文件或现成工具的情况下获得 HDD 智能属性 只需使用 WMI 或 PowerShell 我将使用 Zabbix 监控服务器聚合该数据 使用zabbix se
  • 我需要为我的应用程序制作和加载多大尺寸的 ImageList 图标(考虑更高的 DPI)?

    我有一个CListCtrl http msdn microsoft com en us library hfshke78 aspx控制 或ListView http msdn microsoft com en us library wind
  • 如何在 Windows 7 中模拟内存不足的情况

    我有一个用 C 编写的应用程序 运行良好 但有时在现场会出现错误 我们认为这些错误是由于内存不足或与垃圾收集器的交互造成的 如果有人感兴趣 这里有描述 无法将 NHibernate Impl ExpandedQueryExpression
  • DirectShow 虚拟摄像机不会出现在某些配置的列表中

    我使用 DirectShow 过滤器作为虚拟相机 CLSID VideoInputDeviceCategory 它运行良好 但某些应用程序 配置不将此提要显示为源 例如 在 win 8 1 上 我可以通过 webrtc 在 Chrome F
  • 绘制自定义 Windows 控件时出现问题

    我正在尝试使用 Windows 中的 uxTheme 库绘制自己的自定义控件 但我无法弄清楚为什么我的控件看起来不像常规 Windows 控件 据说 使用我正在使用的相同主题 上图显示了标准的 Windows ComboBox 顶部 和使用
  • 检测注册表虚拟化

    我有一组 C v2 应用程序 并且在 Win7 以及较小程度上的 Vista 中的注册表虚拟化方面遇到了困难 我有一个共享注册表配置区域 我的应用程序需要在 HKLM Software Company 中访问该区域 在 Vista 之前 所
  • 批量设置命令的输出和错误以分隔变量

    在Windows 7批处理 cmd exe命令行 中 我试图将命令的标准输出 stdout 和标准错误 stderr 重定向到单独的变量 因此第一个变量设置为输出 第二个变量设置为输出 变量设置为错误 如果有 而不使用任何临时文件 我已经尝
  • 我无法让 ruby​​ 开发工具包适用于 Windows XP

    所以 我一生都无法让它正常工作 我的最终目标是安装 dbd odbc gem 并使其正常工作 从我读过的多篇文章来看 我需要安装ODBC 绑定 http www ch werner de rubyodbc 对于 ruby 以及 dbd od
  • 我应该如何缓冲绘制的矩形以提高性能(C#/.NET/WinForms/GDI+)

    我在做什么 我正在开发一个 C NET 4 7 2 WinForms 应用程序 它使用以下命令在表单上绘制大量填充矩形Graphics FillRectangle https learn microsoft com en us dotnet
  • 如何强制我的 .NET 应用程序以管理员身份运行?

    一旦我的程序安装在客户端计算机上 如何强制我的程序以管理员身份运行Windows 7的 您需要修改嵌入到程序中的清单 这适用于 Visual Studio 2008 及更高版本 项目 添加新项目 选择 应用程序清单文件 改变
  • 使用 Visual C++ 在桌面上绘图

    我正在编写一个 opencv 应用程序 使用 Visual Studio VC 控制台应用程序使用激光束进行绘图 我想在桌面上画线 我知道绘图功能在 GDI32 dll 中可用 但对如何将 GDI32 dll 与我的 vc 代码集成感到困惑
  • 如何在 Windows 64 上安装 NumPy?

    NumPy 安装程序在注册表中找不到 python 路径 无法安装 需要 Python 2 5 版本 但在注册表中未找到该版本 OK 我必须修改注册表吗 我已经修改了 PATH 以指向Python25安装目录 我可以检查一下您使用的是什么安
  • 在 SWI Prolog 中使用 process_create/3 使用命令提示符或 shell 时出错

    在 Windows 7 上 当我在 SWI Prolog 中使用 process create 3 打开 Notepad exe 等应用程序时 记事本将打开 但是 它不适用于使用命令提示符的应用程序 例如 当我尝试打开命令提示符窗口时 使用
  • 解密/读取/修改“.automaticDestinations-ms”和/或“.customDestinations-ms”

    有谁知道如何读取 Microsoft 为 JumpList 创建的文件 我想从 JumpList 中清除所有历史记录 最常访问的 最近关闭的 而不清除任务 我尝试使用 win7api 中的 APPID 并清除例如 google chrome
  • 如何知道并加载特定文件夹中的所有图像?

    我有一个应用程序 C Builder 6 0 需要知道特定文件夹中的图像总数 然后我必须加载它们 在 ImageList 或 ComboBoxEx 中 或任何其他控件中 我怎样才能做到这一点 我知道如何在控件中加载图像 或保存在 TList
  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境

随机推荐

  • 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