生成AVI时,如何在画面上添加文字 在解码生成AVI时,如何在生成的AVI画面上添加文字内存中有解码后的DIB数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我已经解决了,现共享代码 void *pVideoOut = m_VideoOut; //DIB数据存储区 HDC hWndDC=::GetDC(myhWnd); HDC hMemDC=CreateCompatibleDC(hWndDC); hMemBmp = CreateDIBSection(hWndDC, &m_BmpU, 0,&pVideoOut, NULL, 0 ); HBITMAP hOldBmp = (HBITMAP)SelectObject(hMemDC,hMemBmp); RECT rc; ::GetClientRect(myhWnd,&rc); if(hOldBmp) { BITMAPINFOHEADER* pbih=&m_BmpU.bmiHeader; HDRAWDIB h=DrawDibOpen(); DrawDibDraw(h,hMemDC,0,0,rc.right,rc.bottom,pbih,pVideoOut,0,0,pbih->biWidth,pbih->biHeight,DDF_NOTKEYFRAME); DrawDibClose(h); SetBkMode(hMemDC,TRANSPARENT); SetTextColor(hMemDC,RGB(150,255,0)); DrawText(hMemDC,csTimer,-1,&rc,DT_LEFT); //添加字符上去 if(!bBMP2AVI) BitBlt(hWndDC,0,0,rc.right,rc.bottom,hMemDC,0,0,SRCCOPY); hMemBmp =(HBITMAP)SelectObject(hMemDC,hOldBmp); //得到结果图片 GetObject(hMemBmp,sizeof(dibs),&dibs); //得到输出的DIB数据 } DeleteDC(hMemDC); ::ReleaseDC(myhWnd,hWndDC); if(!::IsWindowVisible(m_hWnd)) ::ShowWindow(m_hWnd,SW_SHOW); 再次开帖,100分请教界面框架问题 要毕业了,散分 显示内存中的图 关于DirectShow中音频采集传输的问题 如何设定消息框的窗口的标题 今天是不是眼睛花了?? 如何为属性页加上image? 救命!帮忙毕业!用vc做一个多媒体播放器 我原来是用MFC application模板建的工程,想改为win32 console app,该作些什么改动? 请问pOne<<pTwo和pOne=pTwo有什么区别? 在线问一下简单的问题 大家帮忙看看我得代码?
HDC hMemDC=CreateCompatibleDC(hWndDC);
hMemBmp = CreateDIBSection(hWndDC, &m_BmpU, 0,&pVideoOut, NULL, 0 );
HBITMAP hOldBmp = (HBITMAP)SelectObject(hMemDC,hMemBmp); RECT rc;
::GetClientRect(myhWnd,&rc);
if(hOldBmp)
{
BITMAPINFOHEADER* pbih=&m_BmpU.bmiHeader; HDRAWDIB h=DrawDibOpen();
DrawDibDraw(h,hMemDC,0,0,rc.right,rc.bottom,pbih,pVideoOut,0,0,pbih->biWidth,pbih->biHeight,DDF_NOTKEYFRAME);
DrawDibClose(h); SetBkMode(hMemDC,TRANSPARENT);
SetTextColor(hMemDC,RGB(150,255,0));
DrawText(hMemDC,csTimer,-1,&rc,DT_LEFT); //添加字符上去
if(!bBMP2AVI)
BitBlt(hWndDC,0,0,rc.right,rc.bottom,hMemDC,0,0,SRCCOPY);
hMemBmp =(HBITMAP)SelectObject(hMemDC,hOldBmp); //得到结果图片
GetObject(hMemBmp,sizeof(dibs),&dibs); //得到输出的DIB数据
}
DeleteDC(hMemDC);
::ReleaseDC(myhWnd,hWndDC);
if(!::IsWindowVisible(m_hWnd))
::ShowWindow(m_hWnd,SW_SHOW);