我正在开发一个应用程序,但我遇到了一个我似乎无法找到解决方案的问题。该应用程序是用 vc++ 编写的。我需要做的是显示一个带有文本的 YUV 视频源。
现在它可以通过使用 GDI 在 OnPaint 方法中绘制文本和 DirectDraw 叠加层上的视频正常工作。我需要摆脱覆盖,因为它会导致很多问题。它不适用于某些视频卡、vista、7 等。
我想不出一种以更兼容的方式完成同一件事的方法。我可以使用带有后台缓冲区的 DirectDraw 绘制视频并将其复制到主缓冲区就可以了。这里的问题是在 GDI 中绘制的文本会因为视频刷新的次数而闪烁。如果可能的话,我真的很想保持代码完整地绘制文本,因为它运行良好。
有没有办法将文本直接绘制到 DirectDraw 缓冲区或内存缓冲区或其他东西,然后将其 blt 到后台缓冲区?我应该一起看另一种方法吗?两个重要的操作系统是 XP 和 7。如果有人有任何想法,请告诉我,我将对其进行测试。谢谢。