解决方案 »
- vc combobox dropdown改为droplist后就死机,为啥呀?
- CTreeCtrl控件编辑问题
- 这个图片的界面该如何实现
- 如何创建 多个框架窗口
- 如何將指定字體的文字輸出到與設備無關的位圖(DIB)中去﹖
- vc++的主要优势在哪啊
- CSocket的Attach和Detach怎么用??
- 紧急求助,绝对加分!对话框打开速度奇慢无比,大虾指教一下:)
- CArray<MyType, MyType&> m_arrayMyType;
- 如何在视图中加入ToolTips?高手们给点意见:)
- 求助...WINDOWS怎么判断模拟按键和实体键的区别的?我试着通过下面这个方法屏蔽WIN键但是失败了...可否帮我解释下究竟哪里出错了?
- 求助!! 写的MFC软件在执行的时候出现异常错误。
msdn 里边矛盾,到底应该是哪个?
hIC=ICOpen(icInfo.fccType,icInfo.fccHandler,ICMODE_COMPRESS);
ICCompressGetFormat(hIC,&InHeader,&OutHeader); memset(&NewStreamInfo,0,sizeof(NewStreamInfo));
NewStreamInfo.fccType=streamtypeVIDEO;
NewStreamInfo.fccHandler=mmioFOURCC('M', 'S', 'V', 'C');
NewStreamInfo.dwScale=1;
NewStreamInfo.dwRate=25;
NewStreamInfo.dwSuggestedBufferSize=OutHeader.biSizeImage;
SetRect(&NewStreamInfo.rcFrame,0,0,OutHeader.biWidth,OutHeader.biHeight); if(ICCompressQuery(hIC,&InHeader,&OutHeader)==ICERR_OK)
{
ICCompressBegin(hIC,(BITMAPINFO*)&InHeader,(BITMAPINFO*)&OutHeader);
} AVIFileCreateStream(pNewFile,&pNewStream,&NewStreamInfo);
AVIStreamSetFormat(pNewStream,0,&OutHeader,sizeof(OutHeader)); for (int index=StartFrame; index<FrameNum; index++)
{
long num = sizeof(InHeader);
AVIStreamReadFormat(pOldStream,index,&OutHeader,&num); BYTE* pDIB = (BYTE*) AVIStreamGetFrame(pFrame, index);
BYTE* pData=pDIB+sizeof(BITMAPINFOHEADER);
DWORD dwCkID;
DWORD dwCompFlags;
DWORD dwQuality=100;
if(ICCompress(hIC,ICCOMPRESS_KEYFRAME,&OutHeader,lpOutData,
&InHeader,pData,&dwCkID,&dwCompFlags,index,0,dwQuality,
NULL,NULL)==ICERR_OK)
{
AVIStreamSetFormat(pNewStream,index,&OutHeader,sizeof(OutHeader));
AVIStreamWrite(pNewStream,index,1,(LPBYTE)lpOutData,
OutHeader.biSizeImage,AVIIF_KEYFRAME,NULL,NULL);
}
}