MFC 怎么在视频上面画图 视频是用VLC播的,传个窗口句柄就行了但是想在上面画图,视频是自己不断在播放的弄了窗口和控件,可还是会被刷新的,感觉是谁会刷新就会跑到前面,并没有各自独立,类似图层的效果 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 获取播放视频的位置。用DC画,具体操作放在OnPaint()中,这样的话一直更新。人眼看不出来 (beigongmurong)你的意思是不是:不断的在视频上面画图? (beigongmurong)是不是对于已经画好的东西,视频刷新掉,我再不断的又重绘上去?这样做好勉强啊,而且效果好不好呢? 我理解错了,(beigongmurong)的意思应该是都在一个窗口下绘图,但是我是直接把句柄传给播放器播放的,好像没法在OnPaint()中做操作吧?自己顶一下,求思路... 如果是别的程序,因为多数视频是以Overlay方式绘制的,它在显卡驱动中是高优先并利用硬件加速绘制的,GDI什么的级别要比这个低。但是有个变通的方法,就是你在播放视频时用Print Screen截图,这个时候粘贴到Photoshop中,应该只能看到类似黑色的东西。这个就是Key色。Overlay绘制时为了能正确显示到窗口里,会在窗口中填充某种特定色。比如RealPlayer就是(15,15,15)。你只要做一个无边框的窗口,背景色弄成这个Key色,放上文字,再保持在VLC前面就行了。但是这个方式不靠谱,如果对方禁用了硬件加速就无效了。如果是自己显示视频的话,用DirectShow很容易覆盖文字,再显示,这个方式最通用最可靠。 http://blog.csdn.net/liunian17/article/details/8237957 LRESULT CALLBACK OnCaptureVideo(HWND hWnd,LPVIDEOHDR lpVHdr){ AfxGetMainWnd()->PostMessage(WM_PAINT); return 0;}BOOL C***::OnInitDialog(){capSetCallbackOnFrame(m_hCapWnd,OnCaptureVideo);}void C***::OnPaint(){ CClientDC ccdc(this); //绘制直线 ccdc.MoveTo(this->m_pStart); ccdc.LineTo(this->m_pEnd);} 请大家推荐个doc文件解析开源库 vc char *Buf="07_08_22";请问怎么得到当前的年是7年,月是8,日是22啊 在MFC中使用FTP命令 怎么读出文件中的一个汉字字符啊? 基于MFC开发的程序如何转成基于命令行的? 请教:如何改变Tab control控件的按钮的大小和字体??急!!! 在哪能找到计算机英文文章? MSCOMM控件接收到数据的问题 急问 CW2A在vc6下能使用吗? 网上一片控件自适应的伪代码//最一句代码声明代码没有,能否补全? 多线程通信
是不是对于已经画好的东西,视频刷新掉,我再不断的又重绘上去?
这样做好勉强啊,而且效果好不好呢?
自己顶一下,求思路...
如果是自己显示视频的话,用DirectShow很容易覆盖文字,再显示,这个方式最通用最可靠。
{
AfxGetMainWnd()->PostMessage(WM_PAINT);
return 0;
}
BOOL C***::OnInitDialog()
{
capSetCallbackOnFrame(m_hCapWnd,OnCaptureVideo);
}
void C***::OnPaint()
{
CClientDC ccdc(this);
//绘制直线
ccdc.MoveTo(this->m_pStart);
ccdc.LineTo(this->m_pEnd);
}