求救:Dx9下开发的运行时候用户一定要安装Dx9吗?

quarkfc 2005-12-11 08:28:58
我用dx9开发了一个视频监控程序,发现对方一定要安装dx9才能运行,有什么办法可以不装dx9也能运行吗?
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2005-12-11
  • 打赏
  • 举报
回复
客户总得安装一个DirectX吧,那就没有任何理由不安装Direct X 9啊。许多问题总是复杂化,其实客户更新一下也没什么呀。
quarkfc 2005-12-11
  • 打赏
  • 举报
回复
我就是用了:大虾帮我看看是否一定需要dx9阿
Visual C++编程实现摄像头视频捕捉


摘要:本文主要讲述用Directshow进行视频捕捉(捕捉静态图像)的编程思路,并提供针对摄像头编程的一个视频捕捉类CcaptureVideo和一个示例。
  前言
  DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。DirectShow为多媒体流的捕捉和回放提供了强有力的支持。用DirectShow开发应用程序,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。
  DirectShow是基于COM的,为了编写DirectShow应用程序,需要了解COM客户程序编写的基础知识。DirectShow提供了大量的接口,但在编程中发现还是不够方便,如果能构建一个视频捕捉类把常用的一些动作封装起来,那么就更方便了。
  编程思路
  为了更加容易建立视频捕捉应用程序,DirectShow提供了一个叫做Capture Graph Builder的对象,Capture Graph Builder提供IcaptureGraphBuilder2接口,该接口可以建立和控制Capture Graph。
  建立视频捕捉程序,必须首先获取并初始化IcaptureGraphBuilder2接口,然后选择一个适当的视频捕捉设备。选择好设备后,为该设备创建Capture filter,然后调用AddFilter把Capture filter添加到Filter Graph。
  如果仅仅希望用摄像头来进行实时监控的话,只需要在上面的基础上调用ICaptureGraphBuilder2::RenderStream就可以了:
ICaptureGraphBuilder2 *pBuild; // Capture Graph Builder
//省略初始化部分代码
IBaseFilter *pCap; // Video capture filter.
//省略初始化和添加到Filter Graph部分代码
pBuild->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, pCap, NULL, NULL);
  DirectShow提供了一个捕捉静态图像的方法:使用Sample Grabber filter。依次按照以下三个步骤就可以了:
  第一步, 定义一个类实现Sample Grabber的回调接口IsampleGrabberCB:
class CSampleGrabberCB : public ISampleGrabberCB
{
 //在后面提供的类中具体完成
}
CSampleGrabberCB mCB;
  第二步、调用RenderStream依次把Still pin、Sample Grabber和系统默认Renderer Filter连接起来。
  第三步、配置Sample Grabber以捕获数据。
  视频捕捉类CCaptureVideo的具体实现
// CCaptureVideo视频捕捉类头文件
vcmute 2005-12-11
  • 打赏
  • 举报
回复
不一定,看你的接口调用,
尽量用最后不带数字的

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧