⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_61722.htm

📁 vc
💻 HTM
字号:
<p>
序号:61722 发表者:nbm 发表日期:2003-11-21 12:12:45
<br>主题:帮帮我:如何从正在播放MPEG的窗口中抓图?
<br>内容:我下载的例子用的是SetCapture(),经常抓不到图,我看论坛上说用DirectX来做,可我没有接触过DirectX,无从下手,请大家多多指点,给我一个思路。操作系统win2000
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:色盲 回复日期:2003-11-21 14:27:28
<br>内容:o
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:唐特 回复日期:2003-11-21 14:30:31
<br>内容:首先初始化IBasicVideo接口<BR>在头文件里定义:<BR>IGraphBuilder *pigb;<BR>IBasicVideo *pibv;<BR><BR>然后在函数里面编写抓图程序,你可以参考一下我的这段程序,能够实现抓图:<BR><BR>void EditDlg::OnCaptureImage()<BR>{ <BR>HRESULT hr;<BR><BR>hr=CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&amp;pigb);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if(SUCCEEDED(hr))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pigb-&gt;QueryInterface(IID_IBasicVideo, (void **)&amp;pibv);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>long size; <BR>long* image = NULL; <BR><BR>long lWidth, lHeight; <BR><BR>pibv-&gt;GetVideoSize(&amp;lWidth, &amp;lHeight); <BR><BR>// determine size <BR>pibv-&gt;GetCurrentImage(&amp;size,image); <BR><BR>char* buffer = new char[size]; <BR><BR>hr = pibv-&gt;GetCurrentImage(&amp;size,(long*)buffer); <BR><BR><BR>LPBITMAPINFOHEADER lpbi; <BR><BR>lpbi = (LPBITMAPINFOHEADER)buffer; <BR><BR>HDRAWDIB hdd;<BR>HDC hdc;<BR>CClientDC ClientDC(this); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>hdc=ClientDC.GetSafeHdc();<BR>hdd=DrawDibOpen();<BR>DrawDibDraw(hdd,hdc,350,90,110,110,lpbi,(LPVOID)buffer,0,0,lWidth,lHeight,DDF_BACKGROUNDPAL);<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:nbm 回复日期:2003-11-21 15:00:22
<br>内容:谢谢谢谢,可是这个IBasicVideo接口怎么初始化呀?IGraphBuilder 要不要初始化?你有没有这方面的中文资料?我现在头都大了!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:唐特 回复日期:2003-11-21 15:30:52
<br>内容:hr=CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&amp;pigb);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if(SUCCEEDED(hr))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pigb-&gt;QueryInterface(IID_IBasicVideo, (void **)&amp;pibv);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>这段程序就是在初始化啊.sorry,是我没说清楚.<BR>还有,我的那段程序没有把截到的图保存成文件,只是把它粘到了窗口的某个位置上了.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:fsdfsfsdfsfsdfsdf 回复日期:2003-11-21 16:22:43
<br>内容:那我要想保存成文件<BR>应如何做呢<BR>请指点<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -