小女子哭求高手指点!为何这段代码无法显示图像@_@

来源:百度知道 编辑:UC知道 时间:2024/09/23 00:40:36
LRESULT CALLBACK FrameCallbackProc(HWND hWnd, LPVIDEOHDR lpVHdr)
{
BITMAPINFO bmpInfo;
capGetVideoFormat(ghVideo,&bmpInfo,sizeof(BITMAPINFO));
HBITMAP hShowBMP;
hShowBMP = CreateDIBitmap(d_hdc,&bmpInfo.bmiHeader,CBM_INIT,&lpVHdr-> lpData,&bmpInfo,DIB_RGB_COLORS);
//d_hdc是我的对话框的hdc,是不是这个参数有问题?我一直不知道CreateDIBitmap的第一个参数该填哪个东西的HDC
CBitmap m_bitmap;
m_bitmap.Attach(hShowBMP);
//获得指向静态控件的指针
CStatic *pStatic=(CStatic *)AfxGetMainWnd()-> GetDlgItem(IDC_FaceDec);
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic-> ModifyStyle(0xF,SS_BITMAP ¦SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic-> SetBitmap(hShowBMP);
return (LRESULT) TRUE ;
}
小女子用上面的代码来将从摄像头捕获到的图像数据显示到控件IDC_FaceDec里,可是不知为啥一直是一片灰色无法显示
有请高人指点!究竟是哪里错了?还有下面的代码我也试过,也是显示不出来,究竟是什么原因啊...我都快哭了...
哭求高人指点~
LRESULT CALLBACK FrameCallbackProc(HWND hWnd, LPVIDEOHDR lpVHdr)
{
BITMAPINFO bmpInfo;
capGetVideoFormat(g

CreateDIBitmap
StretchDIBits的返回值是什么,发出来帮你分析

我是叫你给出单步时,跟到的返回值。
其次,你从摄像头取数据是通过driver还是dshow,如果是dshow的话,可以有active windows直接显示出来,为什么还要这样做???
还有,你直接取到的数据没有bmp的头,你必须补上了,才可以正确显示