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

📄 subject_62208.htm

📁 vc
💻 HTM
字号:
<p>
序号:62208 发表者:nbm 发表日期:2003-11-25 12:16:01
<br>主题:奇怪,我抓的图为什么上面有三分之一是黑的?
<br>内容:我抓的图上面有三分之一是黑的,所以抓的图就少了三分之一,不知道为什么?程序如下:<BR>抓图部分:<BR>&nbsp;&nbsp;&nbsp;&nbsp;HRESULT hr;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pGB-&gt;QueryInterface(IID_IBasicVideo, (void **)&amp;pibv);<BR>&nbsp;&nbsp;&nbsp;&nbsp;long* image = NULL; <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;pibv-&gt;GetVideoSize(&amp;lWidth, &amp;lHeight); <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// determine size <BR>&nbsp;&nbsp;&nbsp;&nbsp;pibv-&gt;GetCurrentImage(&amp;size,image); <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;buffer = new char[size]; <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;hr = pibv-&gt;GetCurrentImage(&amp;size,(long*)buffer); <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;lpbi = (LPBITMAPINFOHEADER)buffer; <BR>写文件部分:<BR>&nbsp;&nbsp;&nbsp;&nbsp;HANDLE&nbsp;&nbsp;fh;<BR>&nbsp;&nbsp;//创建位图文件&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fh = CreateFile(&#34;h:\\b.bmp&#34;, GENERIC_WRITE, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0, NULL, CREATE_ALWAYS,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL);<BR><BR>&nbsp;&nbsp; if (fh == INVALID_HANDLE_VALUE)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(&#34;error&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD dwWritten;<BR>&nbsp;&nbsp; // 写入位图文件头<BR>&nbsp;&nbsp; WriteFile(fh, lpbi, sizeof(BITMAPFILEHEADER), &amp;dwWritten, NULL);<BR><BR>&nbsp;&nbsp; // 写入位图文件其余内容<BR>&nbsp;&nbsp; WriteFile(fh, (LPSTR)buffer, size,&nbsp;&nbsp;&amp;dwWritten, NULL);<BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp; //消除内存分配&nbsp;&nbsp;<BR>&nbsp;&nbsp; CloseHandle(fh);<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:DickieX 回复日期:2003-11-25 17:22:43
<br>内容:BITMAPFILEHEADER里面的值要设定吧.
<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-25 17:35:27
<br>内容:谢谢,我的问题已经解决了,你知不知道如何从某一帧开始播放,并能把该帧取出来存成BMP?<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>
回复者:donly 回复日期:2003-11-26 23:31:46
<br>内容: IMediaSeek接口有:可以设置播放的位置!<BR>hr = m_pMS-&gt;SetPositions(&amp;pos, AM_SEEKING_AbsolutePositioning ,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NULL, AM_SEEKING_NoPositioning);<BR><BR>其实Directshow的IMediaDet里面已经提供了保存BMP的方法,直接用该函数就可以了<BR>hr=m_pMD-&gt;WriteBitmapBits(dCurTime,m_lWidth,m_lHeight,wsFilename);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (FAILED(hr))&nbsp;&nbsp;return FALSE;<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 + -