采集程序用加密狗加密后,不能采出单帧图像

o野猫 2004-08-11 05:21:51
用samplegrabber采集静态图像,图像源是个usb摄像头,未加密前,程序运行正常,可以采出图像;用加密狗加密了以后,图像可以预览显示出来,但选择采集时没有任何反应。

这是我的程序,麻烦高手帮我看看:

AM_MEDIA_TYPE mt;
HRESULT hr = pGrabber->GetConnectedMediaType( &mt );

if(FAILED(hr))
{
Msg(TEXT("不能连接,请检察设置"));
return false;
}

VIDEOINFOHEADER * vih = (VIDEOINFOHEADER*) mt.pbFormat;
long width = vih->bmiHeader.biWidth;
long height = vih->bmiHeader.biHeight;


long cbBuffer = 0;
hr = pGrabber->GetCurrentBuffer(&cbBuffer,NULL);
char * pBuffer = new char[cbBuffer];
if(!pBuffer)
{
Msg(TEXT("can not allocate memory"));
}
hr = pGrabber->GetCurrentBuffer(&cbBuffer,(long*)pBuffer);

BITMAPFILEHEADER hdr;
BITMAPINFOHEADER bi;

memset( &bi, 0, sizeof( bi ) );
bi.biSize = sizeof( bi );
bi.biWidth = width;
bi.biHeight = height;
bi.biPlanes = 1;
bi.biBitCount = 24;

hdr.bfType = 'MB'; //always is "BM"
hdr.bfSize = cbBuffer + sizeof( hdr ) + sizeof(BITMAPINFOHEADER );
hdr.bfReserved1 = 0;
hdr.bfReserved2 = 0;
hdr.bfOffBits = sizeof( BITMAPINFOHEADER ) + sizeof( BITMAPFILEHEADER );

if(cbBuffer==0)
{

MessageBox(NULL,"NULL","提示信息",MB_OK|MB_ICONINFORMATION);
}
CFile bitmapFile(outFile, CFile::modeReadWrite | CFile::modeCreate | CFile::typeBinary);
bitmapFile.Write(&hdr, sizeof(BITMAPFILEHEADER));
bitmapFile.Write(&bi,sizeof(BITMAPINFOHEADER));
bitmapFile.Write(pBuffer, cbBuffer);
bitmapFile.Flush();
bitmapFile.Close();

delete pBuffer;

...全文
104 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gothing 2004-08-12
  • 打赏
  • 举报
回复
是你的加密没处理好吧?
加密狗对samplegrabber加了密?
o野猫 2004-08-12
  • 打赏
  • 举报
回复
大家帮忙看一看,很急

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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