给你个函数,看看了
testavi()
{
// TODO: Add your command handler code here
PAVIFILE pfile;
AVIFILEINFO pfi;
PAVISTREAM pavi;
AVISTREAMINFO psi;
PGETFRAME pgf;
BITMAPINFOHEADER bmih;
BYTE *lpbuff;
long length; AVIFileInit();
AVIFileOpen(&pfile,"test.AVI",OF_READ,NULL);
AVIFileInfo(pfile,&pfi,sizeof(AVIFILEINFO));
AVIFileGetStream(pfile,&pavi,streamtypeVIDEO,0);
AVIStreamInfo(pavi,&psi,sizeof(AVISTREAMINFO));
length=AVIStreamLength(pavi); memset(&bmih,0,sizeof(BITMAPINFOHEADER));
bmih.biBitCount=24;
bmih.biSize = sizeof(BITMAPINFOHEADER);
bmih.biWidth = pfi.dwWidth;
bmih.biHeight = pfi.dwHeight;
bmih.biPlanes =1;
bmih.biCompression =BI_RGB;
bmih.biXPelsPerMeter = 3780;
bmih.biYPelsPerMeter = 3780; CClientDC dc(this);
pgf=AVIStreamGetFrameOpen(pavi,&bmih);
for(int i=0;i<length;i++)
{
lpbuff=(BYTE *)AVIStreamGetFrame(pgf,i);
StretchDIBits(dc.m_hDC,0,0,bmih.biWidth,bmih.biHeight,0,0,
bmih.biWidth,bmih.biHeight,lpbuff+sizeof(BITMAPINFOHEADER),(BITMAPINFO *)&bmih,DIB_RGB_COLORS,SRCCOPY);
}
AVIStreamGetFrameClose(pgf);
AVIFileRelease(pfile);
AVIFileExit();
}
testavi()
{
// TODO: Add your command handler code here
PAVIFILE pfile;
AVIFILEINFO pfi;
PAVISTREAM pavi;
AVISTREAMINFO psi;
PGETFRAME pgf;
BITMAPINFOHEADER bmih;
BYTE *lpbuff;
long length; AVIFileInit();
AVIFileOpen(&pfile,"test.AVI",OF_READ,NULL);
AVIFileInfo(pfile,&pfi,sizeof(AVIFILEINFO));
AVIFileGetStream(pfile,&pavi,streamtypeVIDEO,0);
AVIStreamInfo(pavi,&psi,sizeof(AVISTREAMINFO));
length=AVIStreamLength(pavi); memset(&bmih,0,sizeof(BITMAPINFOHEADER));
bmih.biBitCount=24;
bmih.biSize = sizeof(BITMAPINFOHEADER);
bmih.biWidth = pfi.dwWidth;
bmih.biHeight = pfi.dwHeight;
bmih.biPlanes =1;
bmih.biCompression =BI_RGB;
bmih.biXPelsPerMeter = 3780;
bmih.biYPelsPerMeter = 3780; CClientDC dc(this);
pgf=AVIStreamGetFrameOpen(pavi,&bmih);
for(int i=0;i<length;i++)
{
lpbuff=(BYTE *)AVIStreamGetFrame(pgf,i);
StretchDIBits(dc.m_hDC,0,0,bmih.biWidth,bmih.biHeight,0,0,
bmih.biWidth,bmih.biHeight,lpbuff+sizeof(BITMAPINFOHEADER),(BITMAPINFO *)&bmih,DIB_RGB_COLORS,SRCCOPY);
}
AVIStreamGetFrameClose(pgf);
AVIFileRelease(pfile);
AVIFileExit();
}
解决方案 »
- 字符串过长!!
- CSocket::OnReceive()的问题
- 一个关于圆形按纽的问题
- 在VC环境下网络编程,用CAsynSocket、CSocket是首选吗?
- 在MFC多视图(项目名为Form)中,有视图A、B、C,怎么判断当前视图是不是主视图A?
- Saimen(单身情人)请进!
- 我使用SQL Server 2000 时遇到的一个问题?
- 想将系统栏上的图标隐藏,用FindWindow的方法SW_HIDE成功,但没有立即更新重绘,试了很久也没成,不知用什么方法
- 请教!!!who知道Netants工具栏上曲线图栏是怎么做的,谢谢
- *****想在dll中刷新窗体的一个矩形区域(用InvalidateRect()?),该怎么做?高手请亮招
- 关于随机函数?
- 远程监控中怎样获取对方屏幕?
MSDN\CD1\Samples\VC98\SDK\GRAPHICS\VIDEO
下面有AviEdit,AviView等