图片转视频

yu_duo 2008-03-21 04:07:25
我想自己写个程序
把一串连续的图片转化成可以播放的视频文件
请问有可以参考的代码吗?
...全文
486 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
GossZhang 2011-04-01
  • 打赏
  • 举报
回复
标记先,回头来
TeddyGe 2008-03-21
  • 打赏
  • 举报
回复
//录制操作的时候 一边截取, 一边写入
while( nIndexForWrite < 50)
{
CTime tmStart = CTime::GetCurrentTime();

LPBITMAPINFOHEADER *lpbiGet = new LPBITMAPINFOHEADER;

//截取失败进行下一幅截取
if(!CopyScreen(*lpbiGet))
{
continue ;
}

//写入avi文件
HRESULT hr = AVIStreamWrite (m_psCompressed,
nIndexForWrite*10,
1,
(LPBYTE)lpbiGet[0]+lpbiGet[0]->biSize+lpbiGet[0]->biClrUsed*sizeof(RGBQUAD),
lpbiGet[0]->biSizeImage,
AVIIF_KEYFRAME,
NULL,
NULL
) ;

//avi 流写入
if (AVIERR_OK != hr)
{
DWORD dw = ::GetLastError() ;

if (NULL != lpbi)
{
delete lpbi ;
lpbi = NULL ;
}

continue ;
}

if (NULL != lpbi)
{
delete lpbi ;
lpbi = NULL ;
}
nIndexForWrite ++ ;

CTime tmEnd = CTime::GetCurrentTime() ;

CTimeSpan tmSpan = tmEnd-tmStart ;

//录屏超过两分钟
if ( tmSpan.GetMinutes() > 2)
{
break ;
}

}//end while

if (NULL != pFile)
{
AVIFileRelease(pFile) ;
}

if (NULL != ps)
{
AVIStreamClose(ps);
}

if (NULL != m_psCompressed)
{
AVIStreamClose(m_psCompressed) ;
}

AVIFileExit();

if (NULL != lpbi)
{
delete lpbi ;
lpbi = NULL ;
}

return 0 ;
}
rageliu 2008-03-21
  • 打赏
  • 举报
回复
avi可以直接写,
其他格式可以使用ds来做

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧